2018-05-14 16:35

同名不同参数也没关系,如果名字也同,参数个数与参数型都相同,在添加 share static method 时会报出错来,不允许,这个是基本要求,不能打破

2018-05-14 16:33

initDirective(...) 方法内部没有添加上 #principal 这些指令而已,你手动用 me.addDirective(....) 添加即可

2018-05-13 22:42

将 webapp 下的 WEB-INF 挪到 resources 下再打包,是一个非常好的思路 jfinal 3.5 会找到一种最佳方案,你给的这个 WEB-INF 挪走的思脉很不错

2018-05-13 22:40

又见一种新玩法, 感谢你的分享

2018-05-13 17:16

查收一下私信,进入 jfinal 俱乐部专享群,导入需要当成是 maven 项目导入

2018-05-13 17:13

@吓一跳丸子 官方用法的好处,我起码给超过 200 人讲过,在此就不再重复了

2018-05-13 17:00

有不少人开发了扫描插件,但不建议这么用

这个问题有过很多讨论,jfinal 官方建议的方式是最好的。你的 controller 在一个系统中通常不会超过 100 个,这类 add(...) 的代码写起来很快速,也不用动脑子,但带来的好处有很多

2018-05-13 16:35

先确保 log4j 配置正确,再看看有没有异常,如果没有异常,文件一定会上传成功

2018-05-13 16:34

注意看文档中的 action 的定义:
controller 中的 public 无参方法叫 action

要符合定义才能进入

2018-05-13 16:33

项目创建得不对,重新建下项目即可

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:44

这个是由于部分 eclipse 版本不支持造成的,将启动参数中的最后一个参数 5 去掉即可

这里是相关贴子:
http://www.jfinal.com/feedback/2429

在俱乐部专享群里面来交流

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 方法是固定的