2017-05-23 10:09
@leomj 定义 NULL_INTERS 长度为 0 的拦截器数组,是为了在没有全局拦截器时,对全局拦截器的拼接,避免使用 if ( xxx != null) 的判断
2017-05-23 10:08
@leomj 在 configInterceptor(Interceptors me) 中添加即可看到:
me.add(new GlobalInterceptor());
2017-05-22 21:25
@leomj 注意看这两个属性:
private Interceptor[] globalActionInters = NULL_INTERS;
private Interceptor[] globalServiceInters = NULL_INTERS;
在添加全局拦截器的时候,数组会添加进去
2017-05-22 21:14
@zan7755 不好意思,后来把这事忘了,现在可以下载 jfinal 3.1 的 changelog 了: http://www.jfinal.com/download/?file=jfinal-3.1-changelog.txt
2017-05-22 21:01
@tobecontinue 不用老是添加 ?? 这个运算符,即便是 coat 为 null 也是不用添加的,在 obj.attr 这种表达式的 obj 为 null 才需要添加
2017-05-22 19:55
@cleverbug 用一下 I18nInterceptor,在模板中直接就可以使用了,看一下手册中有关 i18n 那一章
我记得在添加 I18nInterceptor 以后,在页面中直接用:
#(_res.get(key))
#(_res.format(str, p1, p2..., pn))
2017-05-22 17:27
@ixx jfinal 开源五年,曾经有人跨越九个版本升级到 jfinal 最新版本,仍然不用费什么力气
通常来说,如果 jfinal 改变过某些 API,一定会提供相应的解决方案
例如 jfinal 3.0 将 Constants.setBaseViewPath(...) 去掉了,但开放在了 Routes.setBaseViewPath(...) 之中,升级时改这个地方是分分钟的事,而且新开放的 API 还支持对不同的 Routes 进行配置,功能更加强大了