2026-04-09 09:06
这里的设计用Content-Type应该是解决render系列 在执行 render()时异常返回预期格式错误信息。(确实在渲染模板时render很可能出现数据错误的业务异常。但是json渲染还是很稳定的,只是 JsonRender 的 json对象序列化字符串时是在构造器处理的,容易出现错误是在序列化这步,但是在构造器的时候Content-Type还没赋值)
我一般都使用全局Interceptor,自定义一个JsonInterceptor去try捕捉全局的异常情况,然后返回自定义的格式,也可以根据Accept去返回。最主要的是可以 Object ret = inv.getReturnValue(); 这样允许Action返回值用return xx; 编写代码会简洁很多,特别是在多判断语句中编写更安全了不会漏return;
2026-02-06 13:57
@面具的惊奇 我不知道你项目是咋开启的热加载,Maven啊还是嵌入式之类的用法,根据你的用法,问下AI 咋屏蔽该工具类的热加载就可以了。 或者是把不需要热加载的工具类 自己打包一下为 jar 然后放在依赖 处(一般依赖jar 自动不热加载)
2026-02-05 21:41
@面具的惊奇 https://jfinal.com/doc/1-5 看下是否是因为开发模式下 “热加载的类” 那块的原因。addHotSwapClassPrefix("package 包名")
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文件了。