2020-11-16 16:08

对于 action 找不到的这是最简洁的方案了,另一个要注意的是 ActionHandler 中的 handleActionException(...) 方法中也有一个处理 404 的分支,如果不处理的话可以略过

2020-11-16 11:58

@zys666 你说的项目奔溃了,我建议用一下 jdk 自带的 jvisualvm 这个工具,看看你的项目资源占用与回收情况,重点看内存、线程这类资源

2020-11-16 11:57

@zys666 服务端在发送数据的时候客户端主动断开连接,这个是没法控制的

jfinal.com 也一直有这个异常,但项目从来都是可以正常访问的

2020-11-16 11:56

官网首页有一个 jfinal-demo.zip, 建议用上这个 demo 的配置,并且建议用上里头的 jar 包

2020-11-16 11:55

可能是项目配置问题,这里指的配置是 ecilpse 配置,注意按文档中的介绍来配置

也可能是项目停在了断点上,注意去掉 debug 用的断点

2020-11-16 11:50

如果你不想看到这个异常,有一些解决办法:
1:配置日志,让日志跳过这个异常
2:继承 TemplateRender 在 try catch 中处理一下,然后配置 me.setRenderFactory(....) 接管 Controller.render(...)

2020-11-16 11:48

我自己的项目也偶尔出现这个异常,但网站绝对不会奔溃,奔溃应该是别的原因,一般是资源泄漏之类的错误

你碰到 TemplateException: UT010029: Stream is closed 这个异常是指服务端在向客户端发送数据的时候,发现客户端主动断开了连接,这种异常是无法避免的

例如,某些情况下由于网速太慢,客户端在请求某个网页时发现迟迟没有响应,由于关闭浏览器,这个时候服务端仍然在向客户端发送数据,就一定会出现这个异常

阿里云的网络还比较稳定, 我的 jfinal.com 大概两三天会抛一个你碰到的这个异常,我都是直接无视的

2020-11-16 11:34

@Jimmy_f jfinal 俱乐部有提供离线文档的生成器

2020-11-15 21:35

单步调试进入到最终被代理的那个方法,你会发现这个值已经被改变

这里要特别注意一件事: invocation.setArg(...) 要在 invocation.invoke() 之前调用,这里有先后次序问题

2020-11-15 18:12

最后,一定不要在 Controller 中使用 dao,也不要有 sql , 要有 Service 层

下载 jfinal_demo_for_maven, 源码里头有注释说明这些事情

2020-11-15 18:11

在 arp.addMapping("user", "id", User.class); 这行代码之前设置一个断点,单步调试一下,看程序走没走这里

在 me.add(arp); 这一行前面也照此办法,看程序走没走

2020-11-15 18:03

一般是两种情况:
1: User 没映射
2: ActiveRecordPlugin 没有启动,或启动出了问题

2020-11-14 22:20

@defier 用 baseModel 的人特别多, 我也没想到这个功能这么有需求

由于是生成器生成的,用起来省事,我建议你试一试,我以前也不用,现在必用,很好用

eclipse 的提示功能,避免属性, 而且输入也加快了

2020-11-14 22:03

@defier 如果不需要生成 baseModel , 扫描会更好。 而如果生成 baseModel, 顺便将 _MappingKit.java 生成了也就省去了扫描这个事,省去了学习成本。

baseModel 是比较大的一个需求,自动生成 getter/setter 方法首先是消除了手写的工作量,也消除了手写可能出现错误的,在使用的时候 eclipse idea 这类工具有代码提示

很多人习惯了使用 getter setter

2020-11-14 21:18

乱码问题并没有什么处理捷径,老老实实单步调试,找到是哪个环境节编辑不对