2018-05-13 16:33
@北流家园网 应该是你项目中的老版本 jfinal 依赖还在,新版本没有生效,还有一个可能是你以前在本地自行打包安装了老版本的 jfinal 3.4
2018-05-13 16:32
在 spring 中想办法 new 一个 Engine 对象自己用,或者将 spring 与 enjoy 整合起来,整合方法见这里:
http://www.jfinal.com/doc/6-10
整合以后可以通过JFinalViewResolver.me().getEngine() 来获取engine 对象去使用
剩下的事情就是在 spring boot 中获取 HttpServletResponse response 对象了,我记得是在 action 中直接放处这个参数即可:
public void index(HttpServletResponse response)
有了 Engine 对象与 HttpServletResponse 对象以后,剩下的事情与你在 jfinal 中的用法就完全一样了
2018-05-12 15:43
Model 是 Active Record 设计模式,对于创建、更新、删除操作,只能是对一条数据记录,例如:
new User().setName("James").save();
new User().findById(123).setAge(28).update();
new User().deleteById(456);
因此,model 对于需要同时创建、更新、删除多条数据表记录的功能无法实现,这个时候就需要 Db + Record 模式的帮助,例如:
Db.delete("delete from user where age < ?", 18);
Db.update("update account set cash = cash + ? where id < ?", 1000, 789);
对于查询来说,model 可以将查询结果封装成 model ,方便使用 model 上的具体的 getter 方法来获取数据,例如:
user.getName()
而 record 则只能是:
user.getStr("name")
因此,如果 model 可用则尽可能用 model ,否则使用 Db + Record 模式作为补充
最后, Db + Record 特别适合需要灵活查询的报表系统,返回值的字段高度灵活,表关联复杂的情况尤其好用,因为 Model 中的 getter 方法是固定的
2018-05-12 15:00
@JackZeng 在 web.xml 中可以看到 JFinalFilter,而你可以将你用的 shiro 相关 Filter 写在 JFinlFilter 之前
这样就可以让 shrio 的 filter 先于 JFinalFilter 拦截请求,就可以起到控制权限的作用