2017-07-19 10:22

注意看这个方法:
public int[] batch(String sql, Object[][] paras, int batchSize)

所有 sql 都一样,为嘛要不断 strlist.add(...)

2017-07-19 10:21

@linuxea batch 方法其实可以重载出不需要 batchSize 的方法,例如:
public int[] batchSave(List modelList) {
return batchSave(modelList, modelList,size());
}

一来是因为 batch 系列的方法本身已经非常之多,再重载的话,方法数量会再翻一倍,二来是因为为了强调 batchSize 的作用,在注释中有说明 batchSize 的作用

总之,做一个上万人几十万人都喜欢用的框架,需要极多的权衡与纠结

2017-07-19 10:18

用 jfinal 开发的项目符合 java web 规范,所以以前的所有 java web 部署知识全部有效,直接用就好

2017-07-18 17:03

查一下 druid 的文档,这个我也不懂

2017-07-18 17:02

ehcache.xml 中有个持久化在硬盘的配置 diskPersistent="true"

2017-07-18 17:00

第一个问题,batch 系列方法支持开启事务,当某条数据抛出异常时,前面的数据处理会回滚 ,但是不同数据库所支持的 batchSize 有所不同,如果不设置 batchSize,在超出默认支持范围时会自动提交事务。 因此 batchSize 可以让用户更好地控制事务

第二个问题纯属 sql 问题,单步调试解决

2017-07-18 15:02

jfinal 手册有红色字体强调过,不要使用 dao.set(...),具体原因见手册,此外下面的代码:
public static final User dao = new User();

改成:
public static final User dao = new User().dao();
可以避免你 dao.set(...) 操作

2017-07-18 11:42

@youyuyang 你的拦截器调用 inv.invoke() 没,如果没调用,那么 action 中的 renderJson(resultData) 根本没执行

2017-07-18 10:53

@XIAOXIAO_ 这都快一个月了,才解决?

2017-07-18 10:46

@XIAOXIAO_ 看到你的代码中有这么一句:
Plugins me = new Plugins() 就知道你是想独立于 jfinal 的 web 来使用 ARP,因为 Plugins 这个类仅仅在 jfinal 自己创建时才会起作用,内部会回调它里的一些方法

你自己 new Plugins 是完全没有任何意义的,你只需要手动调用其 start() 即可:
c3p0Plugin2.start();
arp2.start();

这也就是我所说的独立去使用,多调用个 start() 而已,手册上有

2017-07-17 23:46

配置方式参考一下首页下载的 jfinal demo,在 web.xml 中添加一个 JFinalFilter 即可,其它地方参考手册就好

2017-07-17 21:23

在第一个 action 中先使用 createToken 创建 token,回到页面时将该 token 值放入表单隐藏域中与数据一起提交到第二个 action,在第二个 action 中通过 validateToken 验证,用来判断是否重复提交

2017-07-17 18:46

@2222222 Kv.by 是静态方法,在创建 kv 对象的同时置入一个 key value 值,而 Kv.set 仅仅只是置入值,并不会创建 kv 对象,只要用一下就知道区别了

2017-07-17 17:33

最后补充一句,每次发新版本都可以在本站下载到 changelog.txt 文档,通常每次发版本是半年到一年左右,足够时间下载这个文档,以及升级了,有不少小伙伴永久保存了每个 jfinal 版本的所有资源

2017-07-17 17:32

jfinal 每次发新版本都会发布 changelog,看一下这个页面右侧的发布新闻链接:
https://www.oschina.net/p/jfinal

后面两个版本可能没直接贴出来 changelog,可以在本站的分享频道获取:
jfinal.com/share

最新版本的 changelog 可以在本站首页右侧下载到:
jfinal.com

此外,如果碰到任何问题,可以通过查看 jfinal 手册来解决,jfinal 手册第一章有对升级的说明