2017-12-20 11:42

单步调试一下,看一下 save() 方法调用以前 model 中是否有 id 值,如果没有的话要看一下你的 id 是否为自增主键

如果都确定没事,看一下主键名是不是 "id",如果不是的话,要在 apr.addMapping(...) 时指定为正确的主键名

如果不想使用 arp.addMapping(...) 可以利用 jfinal 提供的生成器搞定这一切

2017-12-20 11:39

jfinal 的入口是 JFinalFilter,没有使用 servlet , 在 com.jfinal.core 包下面可以找到源代码

2017-12-20 10:24

@可樂君 jfinal 会检测是否存在相同的 actionKey,确保你的程序不会出 bug,否则请求 /admin 的时候到底该请求哪个

2017-12-19 21:51

忘了提醒一下了,如果是用的 IDEA,那么对于 jetty 的依赖那项的 scope 得改为 compile

2017-12-19 21:50

@耿少卿 如果是 maven 项目,先将项目中所有文件删干净,只留 src 目录与 pom.xml 文件,然后导入到 eclipse 中时选择 import existing maven project,让 eclipse 重新生成所有项目配置

IDEA 下的操作也类似

2017-12-19 21:10

NoClassDefFoundError 可能是你的 jetty 版本不对,或者多个 jetty 有冲突

2017-12-19 21:09

从 sql 上看是对的,这个问题太基础了,看不出有什么问题,建议单步跟踪调试一下程序,看数据查询到底返回的什么

2017-12-19 21:07

将 session 存放在一个共用的中心式缓存中就可以,例如用 reids

如果并发不大的话存放在数据库中也可以,本站就是存放在数据库的

2017-12-19 21:05

检查 IndexController 中是不是有一个 public void admin() 方法

2017-12-19 21:04

一直在用着呢,肯定起作用, 你再试一次

2017-12-19 21:02

@可樂君 这个是正解, config 要改为 configClass

2017-12-19 20:58

有部分的老版本文档,以及 changlog 都是可以下载到的,可以先进入新版本下载页面,试着改一下版本号就可以下载到老版本了。 这个不保证一定可以下载到,但比较近的几个版本还是可以下载到的

jfinal 新版本添加新功能或都有所改变都尽可能考虑了兼容性,而且是渐进式添加,例如 #include 指令以前不支持额外传参,升级到 3.3 以后支持额外传参的同时也兼容了老版本

模板可以在“非当前”路径下引用,但对于默认的 FileSourceFactory 来说,要注意 baseTemplatePath 配置,模板文件必须在这个目录下面或者其子目录下面,可以通过配置 baseTemplatePath 到更加浅层的目录实现加载更多模板的可能性

文件夹引用报错不能有 "/" 这个肯定没问题,模板引擎天然就支持 "/" 打头的目录,一直都在这么用

建议将错误异常贴出来,重点在异常的 cause 部分

2017-12-19 20:53

非常非常详细的高质量分享,填补了 jfinal 在 IDEA 上热加载的一项空白,已点赞收藏,以后有人问到这个问题,直接给 url 就可以了,感谢分享 ^_^

2017-12-19 20:50

@小智丶 是多老的版本? 我记得第三个 boolean 参数是很早就有了

如果确实没有,可以仿照新版本创建一个带有 boolean 的 paginate 方法来用,可以将这个方法写在 service 层来使用

2017-12-19 20:49

@Claire 如果使用新版本 jfinal 3.3 , queryInt、queryLong 都可以实现,并且会自动转换类型