2020-06-08 17:09

除了上面的代码,还可以用下面的办法:
1:public class MyModel extends Model 添加与上面回复中一样的代码

2:修改 base_model_template.jf,将其中的 extends Model 改为 extends MyModel
也就是说,将 base model 原本继承 Model ,改为继承自己扩展的 MyModel

3:最后配置: gen.setBaseModelTemplate("base_model_template.jf");

2020-06-08 17:07

按下面的步骤:
1:将 jfinal 中的 base_model_template.jf 文件复制出来,放在 src/main/resource 目录下面,该文件可以在 jfinal 源码中获取到:
https://gitee.com/jfinal/jfinal/blob/master/src/main/java/com/jfinal/plugin/activerecord/generator/base_model_template.jf

2:修改 base_model_template.jf,在最后一个 #end 之前添加如下代码:
public boolean save() {
set("add_time", new Date());
return super.save();
}

public boolean update() {
set("update_time", new Date());
return super.update();
}

3:配置生成器:
Generator gen = new ....;
gen.setBaseModelTemplate("base_model_template.jf");
gen.generate();

2020-06-08 16:16

@琴海森林 其实就是为了省代码,这个 TableMeta 当时认为只是 jfinal 内部使用

2020-06-08 16:01

@琴海森林 可以通过 JFinalJson.addToJson(...) 自己扩展

由于这个需求并不是太多,官方默认也就不提供这个功能了,而且对性能也有所损耗

2020-06-08 15:47

@happyboy 这个应变也不是 4.9 的原因,你试着用回 4.8 , 看看生成的结果如何

因为 4.9 压根没动过这个地方

2020-06-08 14:52

还没在 reids 中玩过分布式,因为 redis 一般是作为一个中心节点来实现分布式架构下的数据共享的

redis 自身再分布式的话,事情就更复杂了,而且这得要是多大数据量用上了 redis 分布式

建议看一下 redis 文档,里头肯定是有这方面的配置的,应该不难

2020-06-08 14:50

在 configConstant(Constants me) 中添加如下配置:
me.setDenyAccessJsp(false);

2020-06-08 14:48

JFinalJson 转换时依的是 getter 方法,如果被转换的类是 Model、Record , 则依赖的是内部的 Map attrs、Map columns

而 FastJson 转换依赖的是 getter 方法,还依赖 public 属性

而你当前碰到的情况是类中没有 getter 方法,所以 JFinalJson 是不能使用的

至于使用 fastjson 时碰到的 null 值被过滤的问题,可以配置 fastjson,网上搜一下很多

2020-06-07 23:25

@124653847atqq.com 很多功能在 jfinal 中早已预埋,只是文档中没有而已

这些预埋功能,等待你哪天有需求的时候就可以用上了

2020-06-07 20:45

所以,这正是 Okv 出场的时候:
Okv fields = Okv.by("psncode", "人员编码");
...
renderJson(fields);

Okv 的缩写是: Ordered Key Value, 有序键值对

2020-06-07 19:20

你没有使用 jfinal 中的 Log , 这个自然就与 jfinal 无关了

2020-06-06 22:28

@永字诀 只要证实下面这个就可以了:
JFinal.initPathKit() 中的 servletContext.getRealPath("/"); 获取到的值,取决于 undertow.resourcePath,使用的是第一个有效目录

其它的不是重点

2020-06-06 18:17

引入外部的 jar 包,出现这类问题,需要配置:
undertow.hotSwapClassPrefix=com.sl.jfinal.

也可以这么来配置:
UndertowServer.create(MyApp.class)
.addHotSwapClassPrefix("com.sl.jfinal.")
.start();

这里有文档:
https://jfinal.com/doc/1-5


原因是,jfinal undertow 默认只对 target/classes 以及 jfinal 做了 hotSwap ,从而 jfinal 与 target/classes 采用的是 HotSwapClassLoader

而你的 com.sl.jfinal. 下面的类 SwaggerValidatorHandler 继承了 jfinal 中的某些组件,但并未使用 HotSwapClassLoader 进行类加载,从而造成类型不对

这种类型不对,表面上看不出来,是因为它们被不同的 ClassLoader 所加载

2020-06-06 12:52

检查一下 getPara("time") 得到的数据长什么样子

2020-06-06 12:50

功能越来越强大,持续精雕细琢的精品项目