2024-01-02 14:17

SaTokenActionHandler 是不是基于老版本 jfinal 编译到 jar 中了,注意要跟着升级到新版本再编译

此外 jfinal-undertow 也升一下级

2023-12-07 18:45

ActionHandler.java 中触发的,看下源码

2023-12-06 15:58

估计你的这个字段是 timestamp 类型,并且设置了 DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,例如:

字段名 TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP

无论如何都是与 jfinal 无关的

2023-12-05 19:42

在控制台看一下异常输出就清楚问题了,如果控制没有异常输入,需要配置好日志,注意下载官方的 jfinal-admin、jfinal-club 参考里面的日配置配置

2023-11-30 18:50

备忘一下这个改进的原理:按照modifyFlag不同分组,分批执行

这确实是个不错的方案,或许是最好的方案。

如果数据量大的话,性能怎么样?

2023-11-28 18:26

这里的两处关键:#for 指令中的第一个 if :
#if( for.index % 4 == 0 )

第二个 if
#if( for.count % 4 == 0 || for.last)

灵活用好 enjoy 现有功能,一般来说都可以实现, enjoy code enjoy life

2023-11-28 18:25

刚刚用 enjoy 现有指令实现了,你试一下:

public static void main(String[] args) {
String t = "#set(test=[1,2,3,4,5,6,7,8,9])" +
"#for(item : test)" +
"#if( for.index % 4 == 0 ) <div style='width:100%'>\n #end" +
"\t\t<span style='padding-right:10px'>#(item)</span>\n" +
"#if( for.count % 4 == 0 || for.last) </div>\n #end" +
"#end";

Engine.use().getTemplateByString(t).render(System.out);
}

2023-11-28 18:13

能扩展 #for 指令那必然是对 enjoy 原理有很深理解,这个扩展很有深度,谢谢分享

这个需求如果没有扩展确实还不太好实现

2023-11-21 19:15

@欲风217 生产环境 devMode 建议设置为 false。生产环境即便设置成 true 也不支持热加载,有判断

2023-11-15 23:58

有些配置可能是 druid 后来的版本添加的,所以就没添加上,有些是不那么常用的也没加,通过 getDataSource() 再强制转换成 DruidDataSource 类型后,可以为它配置一些参数

2023-11-15 23:58

换驱动试试,感觉是驱动的问题:

https://mvnrepository.com/artifact/com.microsoft.sqlserver/mssql-jdbc

最新的驱动在这里:
https://mvnrepository.com/artifact/com.microsoft.sqlserver/mssql-jdbc

而不是这里(这里的过时了):
https://mvnrepository.com/artifact/com.microsoft.sqlserver/sqljdbc4

2023-11-15 23:57

将日志级别由 error 改为 info 会有更详情的日志出来

打印 sql 日志参考这个:https://jfinal.com/share/492

2023-10-31 18:09

batchSave 可能不支持返回主键 ID , 你执行完,看一下 model 中是不是有主键值了

2023-10-31 18:08

@yjjdick1990 jfinal 会处理好这个问题,显然是该字段的值为 null , 所以保存时为 null, 建议将该字段设置为不允许为 null, 这样在碰到问题时能及时抛出异常