2020-05-22 17:50

通过以下方法可以很方便扩展:
Generator.setModelTemplate(...);
Generator.setBaseModelTemplate(...);

通过复制出官方的模板文件,然后改成你自己需要的内容,再通过上面的两个配置方法就可以切换生成器模板到你自己的模板了,jfinal 默认模板内容可以在此获取:
https://gitee.com/jfinal/jfinal/blob/master/src/main/java/com/jfinal/plugin/activerecord/generator/model_template.jf

https://gitee.com/jfinal/jfinal/blob/master/src/main/java/com/jfinal/plugin/activerecord/generator/base_model_template.jf

2020-05-22 17:42

beetl 文档中应该有集成 jfinal 的文档,一定要按照文档来

我对 beetl 不了解,帮不到你

2020-05-22 00:28

还添加一个 code 方法就完美了:
public static Ret code(int code) {
return Ret.create(CODE, code);
}

有些较为复杂的系统,会有很多 code 来代替各种不同的状态,例如微信公众号就有几十个 code 值

为了节省流量,使用这些 code 值时,不需要设置 msg 值,而是让开发者去看文档中 code 值的对应含义

2020-05-21 21:29

@dgood 这个是 JDK 内部细节的问题, JDK 1.8 相对于之前的版本是大版本升级,所以这个版本并不会完全兼容原来的用法

在 jfinal 层面,升到 JDK 1.8 时并没有改动这里的任何代码,换句话说,这个兼容性问题肯定是与 jfinal 无关的

2020-05-21 18:12

cookie 中有不合法字符, 打开 chrome 浏览器的开发者工具,然后鼠标右键删掉所有 cookie 即可

当然,删掉以后,要确保代码中没有 cookie 在存放非法字符

cookie 非法字符可以搜索一下

2020-05-21 17:28

将这个改进引入到你自己的一个中间型 Model 中去,然后对生成器改进一下,让 BaseModel 继承你的这个中间型 Model,就可以应用上你这个改进了

2020-05-21 17:26

针对实际场景对 jfinal 做进一步封装,提升开发效率是有价值的

jfinal 站在通用框架的立足点上,只能提供最为通用的功能,否则学习成本会急剧增加,同时用户也不一定用得上

所以,乐见博主的封装

2020-05-21 17:24

最后,如果不习惯使用 @ActionKey, 使用一下 Handler 做一下 url 的处理也是可以实现你需要的功能的

2020-05-21 17:23

@tctc4869 controllerKey 顾名思义,它是 controller 的唯一 key,所以是被独占的,不能与多个 controller 共享

目前的解决办法是让某一个 controller 独享这个 controllerKey,然后在其它需要共享的地方使用 @ActionKey, 当然,这个注解只能用在方法上

你提的这个需求只有极少数人提出来过,目前看来需求并不是太大

jfinal 的路由做成当前的样子当然也是有很多考虑的,不可能支持所有需求,有一定的取舍,例如要考虑性能、学习成本等等

还要考虑对用户的代码有一定的规范性指导,每一个 controller 一个 key 值,对于模块化或者 restful 风格有一定的约束,会带来一些用户在浅层感受不到的好处,但对用户的代码切实有利的好处

2020-05-21 17:17

已经在 jfinal-com.css 中添加了控制样式,已解决,谢谢你的反馈

2020-05-21 17:08

@jpress @海哥 这个项目是 jpress 中出现的,检查是不是 jpress 有内存泄露问题

2020-05-21 17:07

@chcode 这个是极端正确的方法

Db + Record 一开始就是作为 Model 的补充存在的。例如 Model.update() 无法做到的按条件批量数据更新,而 Db.update("update ... where ...", ...) 就可以轻松做到

2020-05-21 17:03

这个是用的 freemarker 吧?

freemarker 的用法我记得是这样的,应该不会有错

2020-05-21 17:01

@javaTony jfinal 对 batchSize 没有最大限制,而数据库自身是有的,例如 mysql 对其的最大值取决于 batch 缓冲区的大小,缓冲区满的时候会自动提交,而这个是不受 jfinal 控制的

所以 batchSize 建议不要设置太高,例如 5000 以内