2017-03-08 15:27

取消关注,再重新关注该公众号

2017-03-08 12:22

like 直接用问号,不要传字符串: like ?

2017-03-08 11:05

这个是为了让 classloader 延迟加载,提升用户体验的做法,具体原因可以找一下 java 类加载机制相关文章

2017-03-08 11:01

最近好多人找我要这个,感谢分享,赞一个

2017-03-07 22:47

在 handleError 使用一下 keepPara() 即可打完收枪,不要把事情搞复杂了

2017-03-07 22:42

在 configPlugin 中对 ActiveRecordPlugin 进行一下配置即可打完收枪:
arp.setContainerFactory(new OrderedFieldContainerFactory());

2017-03-07 22:41

@jcbms2017 jfinal 官网,以极其少量的代码就实现了 @ 功能,大致是通过正则去匹配提交内容中的 @xxx 字符串,然后去数据库查找被 at 的 account,再将其转换成 url 的形式

考虑加入俱乐部:http://jfinal.com/club 可获得本站所有源代码

2017-03-07 22:38

这个是数据重复提交的问题,使用任何 web 框架都会面临此问题,jfinal 为此提供的支持是 Controller 中的 createToken(...) 与 validateToken(...)。

简单来说是在前一个 action 中创建 token,并 render 到表单页面,在此表单页面将 token 赋值给一个 hidden 的 input,最后在提交的 action 中验证 token 值

jfinal.com 并没有使用上面的解决方案,而是如下方式:
1:提交全部采用 ajax 方式
2:在发送 ajax 前用一个 isLoading 变量,并赋值为 true,然后再发送 ajax 请求
3:当用户在 ajax 请求返回之前,点击提交按钮时,由于 isLoadin 为 true 值,所以不发起请求,也就不会重复提交
4:当用户按 F5 时,显然无法发起提交,因为请求是 ajax 触发的,不是一个表单提交触发的

加入俱乐部 http://jfinal.com/club,可以获取本站 jfinal.com 的所有源代码,各种实用的功能全有

2017-03-07 16:57

jfinal 的 aftetJFinalStart() 方法是在框架之中特别预的一个回调方法,实现方式就是在 JFinalConfig 中添加该方法,让子类覆盖该方法,框架在回调该方法的时候,利用面象对象的多态实现

spring 或许也有这样的回调,得看他的文档

2017-03-07 16:35

存储过程用一下 Db.execute(ICallback) 这个方法,在其中用一下:
connection.prepareCall(sql).execute();
就可以调用存储过程了,并且还可以自由控制返回值

2017-03-07 16:28

@lantsui 在群里叫天蓬元帅,在社区叫 @天蓬小猪

2017-03-07 16:27

@fengting jfinal.com 首页右侧就有 changelog.txt 下载啊

2017-03-07 16:15

@lantsui 在那个 2000 人的大群里面找,或者加入俱乐部,在俱乐部专享群里面找他一下

2017-03-07 16:10

可以去群里面找一下 @天蓬小猪 他对你碰到的这个问题做了升级

2017-03-07 16:09

jfinal 3.0 对 Routes 实现做了改进,所以如果对 Routes 有依赖的项目要稍微改点代码,新版本的 Routes 中有 getRoutesList() 以及 getRouteItem() 这类方法可以代替掉原来的方法调用