2022-09-13 21:30

开启 gzip 压缩或者采用 nginx 代理后会无法显示 content length,解决办法如下:
https://www.jianshu.com/p/946340a803dd

2022-09-07 18:31

不支持位运算、二进制,文档中有过说明:
https://jfinal.com/doc/6-3

15、从java中去除的运算符
针对模板引擎的应用场景,去除了位运算符,避免开发者在模板引擎中表述过于复杂,保持模板引擎的应用初衷,同时也可以提升性能。

与位运算、二进制有关的都不支持,事实证明,你是第一个提起这件事的

如果你要支持,可以通过 sharedObject、sharedMethod 扩展支持,打通到后端的 java , 让 java 支持就行了

例如,以下通过sharedMethod 扩展实现与运算
#( bitAnd( 123, 456 ) )

java 代码这么写:
public int bitAnd( int a, int b ) {
return a & b;
}

最后配置一下:
engine.addSharedMethod(...);

2022-09-07 18:31

创建数据库的时候指定字符集为 utf8mb4 是最好的,后面的表、字段在没指定的时候会跟着数据库的走

2022-09-07 18:29

你打包的错误信息并没有与你的项目有关的信息,也没有与 jfinal 有关的信息,信息不全,这么来排查一下:

1: 根据升级文档检查一下自 4.9.16 起哪些要小改的地方,一般都是分分钟改完,变动很小:
https://jfinal.com/doc/14-1

2: pom.xml 中的编译插件 maven-compiler-plugin
升级到 3.8.1,目前这一版本是最稳定的,不要升到最新版

2022-09-07 18:29

@chcode 已支持,变动两行代码的事。以前不支持是因为没注意到还有这么个事

2022-09-06 12:22

JFinalJson 针对 Model、Record 重点处理,其它类型一般走的 getter 方法

2022-09-06 12:20

@Leo.du 不用每个类型都转,当前你的场景大致处理一下 ModelToJson 就可以了,当然 Map 可能也要处理

2022-09-06 09:21

json 转化时,不同的类型是分别控制的,例如 Model、Record 的转换会有
class ModelToJson extends ToJson
class RecordToJson extends ToJson

而 BeanToJson 也是一样的原理,要接管 BeanToJson 需要通过如下方法实现:
JFinalJsonKit.setToJsonFactory(Function> toJsonFactory);

建议看一下源码: 在 JFinalJsonKit.java 的 106 行

2022-09-06 09:16

@杜福忠 我觉得很可能老美会先搞出来 "前后不分离" 回归后的新框架,回归后不再是原来的 Bootstrap、Layui,而时吸收了 react、vue 等框架后进化了的前后合并框架

2022-09-05 23:24

天下大势合久必分,分久必合,下一波范式转移该前后合并了

2022-09-03 12:51

这个问题很简单,在 arp = new ActiveRecordPlugin(...) 后面立即:
arp.setDevMode(true)

而不是在 addSqlTemplate 之后再调用 arp.setDevModel(true), devMode 要先配置

2022-08-25 23:20

使用下面的办法:
JFinalJson json = new JFinalJson();
json.setConvertDepth(2);

String jsonString = json.toJson(...);

2022-08-25 23:20

很有用的配置,点赞加收藏,谢谢

2022-08-24 21:33

还有一种用法是声明类型为具体的实现类:
@Inject
Service service1;

@Inject
OtherServiceImpl service2;