2020-11-12 16:07

https://jfinal.com/doc/2-7
me.setActionHandler(MyActionHandler actionHandler)
MyActionHandler继承ActionHandler,复制handle代码出来改改就可以了。

2020-11-12 15:45

@或是的话 需要clear 掉那个“全局拦截器” ,那么它其他不能叫全局了,只能算是业务的一种了,我有JSON格式拦截器,就是有做拦截异常转为json返回的。 根据你说的业务,其实不要在 configRoute(Routes me) 这个位置配置就可以了, 拆为两个路由,一个有 你要的拦截器 一个没有就可以了。 如果有大量相同拦截器,可以对拦截器进行打包,或者抽取为同一个公共方法,还可以建base路由,很多方式

2020-11-12 14:26

image.png
我是拆开实现的,公共无权限》私有限制权限》数据格式规范校验路由》具体业务独立路由 等等组了一个包

2020-11-12 11:50

@andu Enjoy 模板代码生成器, 自己自定义的代码模板。 新加方法时也是快捷键复制再手动修改一下的,感觉看着还行,用起来挺舒服方便的

2020-11-11 18:00

我们后来开发的功能为了搜索方便,也是把路径直接写在了方法注释上面,方便搜索定位代码,确实很少从Routes定位代码

2020-11-07 15:52

@天朝子民 好建议,已更新文章内容,增加一个run方法

2020-11-07 14:58

@天朝子民 立即执行 其实就是 一个 Controller+Action方法去调用和任务器执行的同一段代码。一般代码拆分细的话,会有个Service业务代码,Controller和任务调度代码都执行调用Service代码即可。

2020-11-05 16:39

@HingLo 确实不是新鲜事,每次从Navicat复制SQL到代码中时,就带着库名,还得手动去掉2333,但是你是社区第一个分享这个操作的人~ 这就很赞了呀

2020-11-04 16:19

PS:master数据库登录的那个账户,也必须能操作slave 数据库权限,或者说登录的账户能操作这两个库的时候, 才可以使用库名前缀。

2020-10-28 10:36

DictKit.getName 里面写法和你的#dictionary Directive差不多,kit里面做下 EhCache缓存就很爽了

2020-10-28 10:31

#dictionary 是Enjoy后端执行的语法,{{d.orgId}}是laytpl前端浏览器执行的语法,两个东西执行的时空都不一样。咋取值。。。思路错了。
推荐在JF的DB执行查询结果之后,进行 for(x : list)x.set("orgName", DictKit.getName(x.get("orgId"))) 处理,
然后在浏览器laytpl里面使用{{d.orgName}} 这样子取值就很OK

2020-10-20 15:34

@hiado mysql的话,本来就支持的,比如:
String sql = "insert into user(name, cash) values(?, ?) ON DUPLICATE KEY UPDATE cash=VALUES(cash)";
int[] result = Db.use().batch(sql, "name, cash", modelList, 500);

2020-10-17 12:45

@小徐同学 我用着正常了,升级试试 https://blog.csdn.net/dling8/article/details/84061948

2020-10-16 18:38

@或是的话 升级JF版本,用java8+