2020-07-23 10:10

@1377205950 可能是抛出了异常才去的 getErrorRender 调试到那个异常之处

2020-07-22 20:17

乱码问题没啥好办法, 只能一步步调试,找到是哪一步乱掉的,然后解决掉它

2020-07-22 20:17

如果 MapClassService 内部本身有死循环就会死循环,例如你的 MapClassService 像下面这样来写就会有死循环:
public class MapClassService {
MapClassService me = new MapClassService();
...
}

上面的例子是极端情况,另一种情况是 A 里头 new B , B 里头 new A , 造成死循环

这种事情肯定是与 jfinal 无关的,jfinal 的 Aop.get(...) 支持循环注入,也就是 A 里头可以注入 B , B 里头可以注入 A, A 里头注入自己也是可以的,例如:

public class MapClassService {
@Inject
MapClassService me;
......
}

注意,这里说的是注入支持循环依赖,而最前面那个例子是 new 出对象,不支持循环依赖,这个是 java 语言决定的,jfinal 不管这事

2020-07-22 16:59

一次请求只能有一次 render, 那么你在 renderFile 后再 render(..) 肯定是不行的

删掉 render("../layout.html") 即可

2020-07-22 15:52

善用断点 + 调试,这个技能是最强大的排错技能

2020-07-22 15:52

可能的原因:
1:当前修改的 controllerKey 并不是真正冲突的
2:自动编译没打开,改动没生效

除了仔细肉眼排查外,更专业更快的解决方法是在 ActionMapping 中设置断点,查看现场,看看出现这个异常的时候其 controller、method 是哪一个,立即就清楚了

2020-07-22 15:50

用 ProGuard 没错的,我上学的时候就用这东东,百年老店,值得信任,谢谢分享,赞

2020-07-22 15:49

设置断点,单步调试定位错误出在什么地方,很快就能解决

404 这种错误基本上都不是个事

2020-07-22 15:47

@眼睛想旅行 映射关系让生成器去生成,不用自己管理这些事,避免出错

2020-07-22 15:47

在 statement_close 回调中输出 sql ,这个思路不错,赞

2020-07-21 22:02

应该是 Model 没有映射,或者是数据源没启动

单步调试进入 findFirst 中看一下

2020-07-21 14:07

@chcode 虽然 jfinal 才三万行代码,但功能实在太多了,所以不是核心的功能都不会在文档中说明,有些事情你必须舍弃,突出重点

2020-07-21 13:24

@chcode engine 新增的压缩功能当然不是针对 sql 的,对于 sql 来说,压不压缩并没有什么不同,可能有些同学觉得压缩后好看一些

2020-07-20 23:03

@CliveNo.1 你的 equals、hashCode 是错误的写法,会有严重的问题,建议看一下 effective java 这本书里面讲的这两个知识

这本书网上有电子版本下载

2020-07-20 23:01

@不羁ノ風 fastjson 默认不会对 null 值进行转换,需要配置一下,我记得有 WriteMapNullValue 这么个配置,找找 fastjson 的文档