2019-06-01 22:35

解决办法是在 configConstant(Constants me) 中配置一下:
me.setConfigPluginOrder(1);

这个次序的调整在俱乐部群里的 jfinal-4.1-changelog.txt 中有说明:
是为了让 configRoute 中配置的 routes 级拦截器可以用上 configInterceptor 中配置的全局拦截器

2019-06-01 22:28

@dxan 插入数据、删除数据,在此统一抽象为更新操作

2019-06-01 17:44

insert into 这类 sql 要使用 Db.update(sql) 不能使用 Db.find(sql)

前者用于更新数据库,后者用于查询,两者有本质区别

2019-06-01 17:40

demo 中使用的 DruidPlugin 就是在用 druid 这个连接池,这方面不需要自己操心

2019-06-01 17:39

此外,参数不要拼接在 sql 中,既不方便,也有 sql 注入的危险

要这么来用:
String sql = "insert into students(id, name, age, sex, remark) values (?, ?, ?, ?, ?)";
Db.update(sql, 145, "asdjh", 6, "男", "无");

2019-06-01 17:37

用于更新的 sql 怎么能使用 Db.find(sql) 呢?

要使用 Db.update(sql);

2019-06-01 17:36

jfinal 高版本是 JDK 8 起步, JDK 8 有很多重要功能,性能也更高,并且是 LTS 版本,还在使用 1.6、1.7 的项目值得升级

2019-06-01 16:43

将这个项目源码下载,然后升到 jfinal 最新版本就可以了,升级有详细的文档:
https://www.jfinal.com/doc/14-1

这个项目用到的 jfinal API 并不多,所以升级或许只需要改一下版本号就可以了

2019-06-01 16:42

先调用一次 getFile() ,然后观察一下 jfinal action report 输出的 parameter 部分,根据情况来使用 getPara 方法

2019-06-01 16:40

@jianghe727 我前面提到的监听是指 java web 标准组件中的 Listener,如果你谈到的 quartz 的 job 监听是基于 java web 标准组件 Listener 实现的,那是可以的

2019-06-01 15:33

@kongss jfinal 的 RedisPlugin 仅仅是对 Jedis 这个第三方进行的极薄封装,如果 Jedis 支持这些功能,可以自己配置,顶多只需要继承 RedisPlugin 然后覆盖父类里头的部分代码

2019-06-01 15:32

@kongss 试一试对 RedisPlugin 底层依赖的 jedis 进行配置,通过下面的代码拿到 jedis 对象:
JedisPoolConfig config = RedisPlugin.getJedisPoolConfig();

JedisPoolConfig 里头有一些配置方法,看能不能满足你的需求

2019-06-01 15:28

@jianghe727 在 jfinal 中使用监听器与往常没有什么不同,直接在 web.xml 中添加即可

如果用的是 jfinal undertow, 添加监听器参考文档:
https://www.jfinal.com/doc/1-4

注意看第 12 小节:添加 Filter、WebSocket、Servlet、Listener

2019-06-01 15:26

@Sohnny 分享既助了他人也对自己有益,jfinal 开源出来也是一种分享

2019-06-01 14:09

这次贴的代码十分工整,base controller 层可以玩出各种便利的功能来

对于绝大部分项目来说 BaseController 是标配。如果你的项目有登录功能,至少需要用来 User getLoginUser()、booloean isLogin()、getLoginUserId() 做这些事

感谢分享