2025-12-29 11:07
@zeroabc 对了,如果需要ModelBase代码生成器的java.sql.Timestamp不被转为java.util.Date,要在生成器generator.generate(); 前面配置一下 generator.addTypeMapping("java.sql.Timestamp", "java.sql.Timestamp");
注意要移除generator.setTypeMapping(tm);那行demo代码,用默认的对象进行add覆盖即可
2025-12-29 08:57
@zeroabc 我们时间戳一把梭,数字long啊,避免其他国家的用户因为冬夏令时回拨问题导致时间不一致的问题,前后交互上全程使用时间戳就可以了,计算时间冲突也方便
2025-12-28 15:11
@zeroabc Date 就是没有时分秒,保留时分秒的话要用Timestamp,或者是LocalDateTime对象。 Date 和 DateTime是不同的,MySQL老驱动是会保留,MariaDB是严格遵守规则。如果是做老项目兼容处理的话,可自建一个MariaDBDialect,覆写 Save、Update系列方法 e.getValue() 前判断一下Date类型转换为Timestamp就可以了。
我个人是不建议折腾Date类型,直接时间戳一把梭,前后端统一规则更方便。也没啥时区夏令时、冬令时的处理,麻烦的一批
2025-11-21 10:45
@zzutligang 找不到文件,就是baseTemplatePath和fileName参数没设置对了,调试一下就看见了。
建议你们干脆把sql模板全放config目录算了,jar里面别放模板了。有需要修改的时候直接改config目录里面,只有一份文件也不怕找错,JF代码也不用改啥东西。
再说JF启动的sh脚本config 目录在 lib/* 之前,classLoader.getResource(finalFileName)也是优先找config文件了。
2025-11-17 17:40
在模板获取处判断一下就了:
arp.getEngine().setSourceFactory((baseTemplatePath, fileName, encoding) -> {
FileSource fileSource = new FileSource(baseTemplatePath, fileName, encoding);
if (new File(fileSource.getFinalFileName()).exists()){
return fileSource;
}
return new ClassPathSource(baseTemplatePath, fileName, encoding);
});
2025-11-12 14:58
https://jfinal.com/doc/6-4
12、#escape 指令
escape 指令用于 html 安全转义输出,可以消除 XSS 攻击。
switch (cur) {
case '<':
w.write("<");
break;
case '>':
w.write(">");
break;
case '"':
w.write(""");
break;
case '\'':
// w.write("'"); // IE 不支持 ' 考虑 '
w.write("'");
break;
case '&':
w.write("&");
break;
default:
w.write(str, i, 1);
break;
}
2025-11-05 15:56
@chilun555 对啊,随便反射一个对象共享起来,比如 ParaProcessorController 里面一个index方法, ppc.getDeclaredMethods()[0]