2016-10-28 10:52

model 采用的是 ActiveRecord 设计模式,每个 model 事先与 table 建立了关联,所以很多操作会更加便捷,例如: user.set(...).set(...).save();

而 Db + Record 是 jfinal 独创的设计模式,Record 与 table 没有关联关系,所以是在调用方法时指令的,例如: Db.save("user", new Record().set(...).set(...));

Model 也是与具体某个数据源关联的,而 Record 在使用的时候如果使用非主数据源,需要使用 Db.use(...).save(...) 这种形式来切换

此外, model 可以生成 getter、setter 符合 java bean 规范,有助于整合很多依赖于 java bean 规范的第三方

Db + Record 模式更适合于那种需要灵活查询的应用场景,例如做报表的场景,报表中的数据是跨很多 table join 起来的,这种天然就与某个特定的 table 关联不大

2016-10-27 21:30

@坚强的地瓜 这种情况是缺少 jstl 支持的 jar 包

2016-10-27 21:27

添加Oracle 方言: generator.setDialect(new OracleDialect());
如果不添加默认是 MysqlDialect

2016-10-27 21:27

还有,拦截器被声明在了哪里? 是全局?

2016-10-27 21:25

按照下面几个方式找下原因:
1:在浏览器上按一下 F12,打开浏览器调试工具,然后再地址栏请求这个 action,看浏览器发了几个请求到这个 action,因为很多页面会有这个发多次请求的行为

2:在控制台看一下请求到来时的各个参数

2016-10-27 14:56

@坚强的地瓜 升级到 jfinal 2.2 版本即可,老版本没有这个功能

2016-10-27 14:55

jfinal 中使用的注解很少,核心注解只有 @Before、@Clear、@ActionKey 这三个,具体的用法在手册上有明确说明,建议下载首页的 jfinal 手册看一下,少走很多弯路

2016-10-27 11:15

@zempty 可以点击文章右下角的收藏按钮,方便以后在个人空间直接查看

2016-10-27 00:20

@andywei jfinal 2.3 会让生成器支持你要的需求一直点点点的操作,即便是现在,你也可以通过继承 BaseModelGenerator 来扩展出这个功能来,微信群现在还没有,建议先加下微信公众号,晚安

2016-10-27 00:03

@andywei 刚刚支付宝是你捐助的吧? 感谢你的支持,社区会提供越来越好的资源分享出来

2016-10-26 22:52

@andywei 这样不就可以早早把问题解决了么,哈哈

2016-10-26 22:51

@andywei 以后像这种紧急的问题,用支付宝捐助一下,我就能收到一条手机短信,就会来社区登记支付宝捐助者,就能看到社区的提问了,事情太多,有时候得半天才看看社区动态

2016-10-26 21:10

@andywei 必然有最好的办法,使用如下的代码设置一下,jfinal 会去掉用 model.get(String) 方法,而不是 getter 方法:
ModelRecordElResolver.setResolveBeanAsModel(true)

在YourJFinalConfig 中的某个 config 方法中调用一次即可,记得搞定后回来反馈

2016-10-26 21:05

jfinal 社区是按照写程序的习惯来做的界面,简洁、代码量少,美感上可能欠缺点,会逐步提升的,感谢你的支持