2017-09-08 14:37

PropKit 这样的工具类在 jfinal 中手册有说明,并且配有代码示例,有些工具类是没有说明的,例如 HashKit,因为这个就是一个 hash 函数,用起来貌似没有多少可以说明的,人懒也就没有加这些文档

还一个是担心文档过多,导致大家根本就不再看文档

2017-09-08 14:35

用浏览器的开发者工具看一下数据到底有多大,上万的彩标投注在数据量上应该是不算大的,找到瓶颈之处,就容易解决了

在后端设置一个断点,看哪一步走得慢,很快就知道原因了

2017-09-08 14:32

看一下项目中的 pom.xml 即可:
https://gitee.com/jfinal/jfinal-weixin/blob/master/pom.xml

2017-09-08 14:31

jfinal-ext 很久没有升级了,建议下面的几个方案:
1:看看 jfinal-ext2 这个项目是否满足你的需求:http://git.oschina.net/jfinal/JFinal-ext2
2:将原有的 jfinal-ext 代码自己升级到 jfinal 3.2,升级很容易,主要是改类名,例如 ActionInvocation 改为 Invocation,Logger 改成 Log

2017-09-08 14:29

json 解析也可以,具体用法见 jfinal 手册

2017-09-08 14:28

jfinal 中有很多模块可以直接用于非 web 项目,例如:模板引擎模块、ActiveRecordPlugin 等等

2017-09-08 14:11

namespace 不能嵌套,可以使用如下 key 值的形式实现多层的效果:
#namespace("aaa.bbb.ccc")

2017-09-07 21:15

这种写法可以加序列化的属性

区别可能是 new 出来的有默认序列化机制,而你这种写法需要手动添加序列化机制

2017-09-07 16:12

arp.addMapping("user", "userid", User.class); 指定 id 为 "userid" 即可

建议用 jfinal 生成器直接生成这一切,配置文件全部自动搞定。下载首页的 jfinal demo,里面有个 _JFinalDemoGenerator 类文件,运行这个文件里面的 main 方法即可打完收工

2017-09-07 15:27

用 JFinal.start(...) 方法启动试试

2017-09-07 15:26

为啥 nickName 不使用 para 指令,而后面的 keywrod 却使用了:
#para(nickName)

2017-09-07 15:23

@doocal 这也就是我前面所说的,由于 spring 的类层次太深,可扩展方法彼此之间的关联与规则繁杂,造成了扩展困难

所以,你花了很长时间才知道是通过 loadView 来实现这个 setOrder(...) 配合所实现的混合 view 功能

这个功能会考虑做到 jfinal 3.3 之中

2017-09-07 15:20

batchSave 方法会以第一条数据为蓝本生成一个 sql , 而这个 sql 是后续所有数据都共同依赖的

我猜测是你的 List 中的第一个 record 少一个字段,而后续的 record 需要这个字段,确保一下第一个 record 对象能够做为蓝本就可以

这个是由 jdbc 的 batch 机制决定的,batch 需要共享一条 sql,然后所有数据直接 addBatch 进来,一次性提交,以此来提升效率,所以你必须保证生成的这条 sql 是正确的,即:保证 list 中第一个 record 生成的 sql 是可共享的

2017-09-07 12:13

关闭浏览器仅仅可以触发 setCookie(key, value, -1) 这样设置的 cookie,注意第三个参数是 -1 才可以

而这仅仅是在浏览器端的行为,与服务器端完全无关,服务器端本质上没有 cookie,有的只有 session 表中的数据,要触发 session 表中数据的删除,需要点退出登录按钮

如果没有点击退出按钮,那么 session 表中的数据是一直在的,但用户在浏览器中的 cookie 没有了(前提是登录时没有点选保持登录状态),所以需要重新登录(没能点选保持登录状态的前提下)

session 表中的数据是有过期时间字段的,可以利用定时器定时清掉过期的数据