2019-07-18 10:59

这个场景用:
String json = getRawData();
User user = FastJson.getJson().parse(json, User.class);

getRawData() 可以多次调用

2019-07-17 19:45

非常细致的源码解读,有些内容可以当成是文档的进阶来阅读, 谢谢分享

2019-07-17 17:13

@邓小杰 jfinal undertow 是不可能回调 afterJFinalStart() 两次的,单步调试一下找原因

2019-07-17 16:55

@邓小杰 这事肯定与 jfinal 无关了,检查一下 tomcat 部署时的坑:
https://my.oschina.net/jfinal/blog/353062

2019-07-17 16:30

@邓小杰 这个是 java 基础, 代码如果被阻塞,程序执行到那就不会动了, 你 new 出一个线程是让这个线程继续往下走,你的主线程才得以继续

这个问题与 jfinal 是完全无关的, 纯粹 java 基础

2019-07-17 15:55

@think-takn 这么快,还不到一分钟呢? 用的哪个方案?

2019-07-17 15:48

@think-takn 如果你实在懒得去找源因,做一个 Handler, 花几行代码解决一下:
public class MyHandler extends Handler {
public void handle(String target, req, resp, isHandled) {
if (target.endsWith("/")) {
target = target.substring(0, target.length() -1);
}

next.handle(target, req, resp, isHandler);
}
}

最后在 configHandler 中配置一下:
configHandler(Handlers me) {
me.add(new MyHandler());
}

2019-07-17 15:45

@think-takn 改了还出错,那就是别的原因了, jfinal 本身就是支持的,你单步调试跟踪一下,看是什么地方的问题

2019-07-17 15:44

你的 Blog 中没有 content 字段, 而页面表单域却有,想要跳过错误转换可以加个参数:
getModel(Blog.class, true);

注意看文档

2019-07-17 15:40

@阿龙 通过改写 Utf8Encoder 即可, 相当于是做一个新的 Utf8mb4Encoder,这部分接口是开放的,你也可以自己写一个, 然后自己通过我前面回复中的方法让其生效

jfinal 中绝大部分功能都是开放可扩展的

2019-07-17 15:38

@hxu 单步跟踪一下,找到原因

2019-07-17 15:33

@邓小杰 我前面强调过 "阻塞", 就是要提醒你用 new Thread 的方式

2019-07-17 15:32

@邓小杰 为啥不在 afterJFianlStart() 或 onStart() 中也同样用 new 一个新线程启动???

2019-07-17 12:18

@think-takn 升级一定要按文档来,跨多个版本升级,主要就是改点类名、方法名:
https://www.jfinal.com/doc/14-1