2018-02-05 21:27

去掉 tomcat-servlet-api 以及 tomcat-servlet-api,改用 jfinal 官方的 jetty-server 即可

2018-02-05 11:48

PathKit.getWebRootPath();

PathKit.getRootClassPath();

2018-02-05 11:16

这个本质上只与 tomcat jetty 这类容器有关, jfinal 没有参与过这件事情

因此,建议找一下 tomcat Jetty 这方面的资料看一看,我自己也从没这么用过,没有这方面经验

2018-02-05 11:13

已备忘到开发列表中,感谢你的反馈

你的建议相对于其他建议,还给了解决方案,非常难得,感谢感谢

2018-02-04 21:49

有上传文件,先调用一次 getFile() 方法即可,文档中有过强调说明:
http://www.jfinal.com/doc/3-7

2018-02-04 14:04

@陈伟 客户端请求到一半时断开请求引发的,也可能是你的机器装了 nginx 这类反向代理的配置造成的,一般不影响使用

2018-02-04 11:33

你在碰到这个异常时项目的使用是否正常?

ClientAbortException 是客户端中途断开请求,通常是不需要理会的,jfinal 3.4 已经添加了额外的处理代码

2018-02-03 18:07

涉及到 sql 拼接,建议用 sql 管理功能实现,极其方便:
http://www.jfinal.com/doc/5-13

查不出来数据的原因很可能是你参数不正确,通过 String.split(",") 得到的参数全部是 String 类型,相信你总有参数并不是 String

所以,参数可以用 ArrayList 存放,然后再 ArrayList.toArray() 转成数组即可

2018-02-03 15:51

@arse7rainman 由于要照顾 java 6 java 7 的用户,所以 JFinal.start(...) 所使用的 jetty 版本仍然是 jetty 8,而 websocket 需要 jetty 9 的支持

你也可以自己在 jfinal 中直接使用 jetty 9 来支持 websocket,参考这里:
http://www.jfinal.com/share/405
https://my.oschina.net/myaniu/blog/470050

这些参考资料在本质上与使用 jetty 8 是一样的,改点 import package 的名字差不多就完成了从 jetty 8 升级到 jetty 9

2018-02-03 15:47

@zhongshg 当拿不定主意的时候,用你已经掌握的 Java 方面规则搞定就可以了

jfinal enjoy 保留了绝大部分 Java 规则,扩展部分极少极少,而且都是有利于开发体验的符合直觉的扩展,例如对 map 的迭代方面的扩展,可以省去你写 map.entrySet() 的代码

2018-02-03 15:45

在 JFinalConfig 中使用 PropKit 与 maven 的 profiles 没有联系, PropKit 只要求在 class path 或者 jar 包内可以找到配置文件即可

2018-02-03 15:06

补充一下,这种对 map 的遍历方式是 jfinal 对 Java 规则的一个扩展,当然,你也可以直接使用 Java 规则来遍历,一点不耽误,将 #for(list:moduleMap) 改成:
#for(e : moduleMap.entrySet()) 然后里头是 e.getKey() 与 e.getValue() 取值,与 Java 规则完全一样

2018-02-03 15:03

遍历的 x : map,取值是 x.key 以及 x.value,而不是对 x 进行再次遍历,解决办法是将 #for(m:list) 改成 #for(m:list.key) 或者 #for(m:list.value)

2018-02-03 15:00

将日志级别调低点, INFO 信息输出太多了

2018-02-03 14:11

@sqhua Active Record 设计模式所决定: 一个 model 对应一条数据表记录,而对应关系统采用主键机制

如果没有主键,你的 model.save() model.update() model.delete() 等操作就根本不可能知道是针对数据表的哪条记录来操作