2020-05-23 17:15

Db.template 方法中的参数与是否继承 Model 无关,因为用到的参数是: Map 或者 Object... 。这两种参数是最通用的

所以你的问题的前提就是不成立的,后面的回复也就不知道回复啥了

2020-05-23 15:41

@tctc4869 enjoy 天然支持 setter getter 的类型,看一下文档中的 enjoy 表达式那一章

2020-05-22 23:58

@永字诀 你看一下 jfinal 依赖注入源码就知道有多极简,200 多行代码,主要就一个类来实现该功能:
https://gitee.com/jfinal/jfinal/blob/master/src/main/java/com/jfinal/aop/AopFactory.java

2020-05-22 23:57

@永字诀 jfinal 的依赖注入与其它框架很不一样,以前不实现这个功能的理由如下:

需要引入大量繁杂而多余的概念,例如:Aspect、Advice、Joinpoint、Poincut、Introduction、Weaving、Around等等,并且需要引入IOC容器并配合大量的XML或者annotation来进行组件装配。

而后续的 jfinal 版本,找到了避开了上述缺点的方案,例如完全无需 IOC 容器、XML 配置,这才加入了依赖注入的功能

而 spring 的实现方案站在 jfinal 的高度一点儿也 "不香"

jfinal 是一直在迭代式前进的,但既便如此,在引入新功能的时候也必定要坚持初心:极简

2020-05-22 17:51

将上述模板复制出来,放在你项目中的 src/main/resources 下面,然后通过下面两个方法配置即可:
Generator.setModelTemplate(...);
Generator.setBaseModelTemplate(...);

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 风格有一定的约束,会带来一些用户在浅层感受不到的好处,但对用户的代码切实有利的好处