2018-02-27 18:21
@maxwade 可以这样理解,虽然有个约定的隐藏参数
这个约定的参数在 com.jfinal.core.Const.java 中有定义:
String DEFAULT_TOKEN_NAME = "_jfinal_token";
但是,这个 "_jfinal_token" 名是不需要关注的,因为 jfinal 还会帮你生成整个隐藏表单域的内容,如下:
StringBuilder sb = new StringBuilder();
sb.append("<input type='hidden' name='").append(tokenName).append("' id='").append(tokenName).append("' value='").append(tokenId).append("' />");
controller.setAttr("token", sb.toString());
注意看最后一行代码,用户所需要做的,只需要在表单步通过下面的代码输出该 input
隐藏域:
#(token)
上面的 #(token) 用在 form 表单之中,剩下的事情就是: validateToken() 了
2018-02-24 14:06
@大爷暗夜 jfinal 在底层就是直接将你的 sql 与参数直接转调一下 JDBC 的 API,只要是 JDBC 支持一定就可以
单步调试进入底层,看参数是什么
或者打开一下 arp.setShowSql(true) 输出一下 sql
2018-02-24 13:50
@大爷暗夜 in(?) 这部分注意,有多少个参数,就要有多少个问号,例如,有1 2 3 这三个参数的情况: in ( ?, ? , ?)