2021-06-22 10:13

UndertowServer里面有个方法:
private Class<? extends Filter> getJFinalFilter() {
try {
return (Class<? extends Filter>)config.getClassLoader().loadClass("com.jfinal.core.JFinalFilter");
} catch (ClassNotFoundException e) {
throw new RuntimeException(e);
}
}
其中 config.getClassLoader().loadClass 就是调用的HotSwapClassLoader的loadClass
然后JFinalFilter里面又会初始化各个类init方法servlet的知识点了,里面的jfinal.init等等代码,得追着读了

2021-06-21 12:07

@hb963724769 那帖子上的理解没有问题,应该就是最简单的处理方案了

2021-06-18 14:27

任务如果不需要强指定同一执行时间,并且担心数据库性能问题。
那么可以把这些操作放在一个Cron4j任务去调用,单线程去try顺序执行即可。
至于持久化这个概念是Quartz的吧,Cron4j因为入口是Runnable接口的java类,应该是都可以自己操作的吧

2021-06-14 23:12

stream写法提出来,单写一行,把执行结果放入setOrPut就可以,不要使用对象

2021-06-11 14:08

JFinalJsonKit.setToJsonFactory(value -> {
复制 JFinalJsonKit里的转换代码,并根据情况定制自己的代码
return new ;
});

2021-06-11 09:55

jfinal-admin.js 》admin.initLeftMenu(); // 初始化左侧菜单 代码很少,追一下就知道了

2021-06-07 19:21

@jfinal爱好者22 昂,明白你要做什么功能了,一般BaseService层封装查询,我都用Db + Record实现了(通用)。大部分都是取数据,如果需要用到Model的便利方法,可以Record转Model对象就可以了。

2021-06-06 14:31

https://jfinal.com/doc/3-11 手册有写

2021-06-06 01:08

支持,没啥影响,正常用即可 https://jfinal.com/doc/1-8

2021-06-03 21:48

Object ?还是直接就用 问号

2021-06-03 21:07

@一只敲代码的猫 和请求没有关系, 可能是数据不一样,把 try{ 放在方法里的第一行再试,放大异常捕捉的作用域

2021-06-03 18:07

@happyboy 楼主ID 13990 你ID 11393 ,都是早期JF使用者。我和你赌一包辣条+一包跳跳糖,楼主是个汉子!

2021-06-03 15:32

项目代码里面有授权协议文档

2021-06-03 09:42

@fmpoffice 2333 例子代码都写好长时间了 https://jfinal.com/share/2404