2017-08-15 18:40
@Bay_Max 可以用 Tx 拦截器,但你要确保拦截器可以被触发,触发方式看一下 jfinal 手册,我个人喜欢用 Db.tx(...)
2017-08-15 17:48
@素夜儿 access token 在每次获取以后,都会判断是否有效/是否过期,如果无效就会重新利用 AccessTokenApi 去请求并更新缓存中的 access token
jsapi_ticket 这部分是后来 @如梦技术 大神开发的,里面的细节我不了解,估计与 access token 是一样的,建议看看相关源代码,或者与 @如梦技术 交流一下
2017-08-15 16:24
在 web.xml 中添加 JFinalFilter 就整合完成了,唯一要注意的是 JFinalFilter 与 web.xml 已有的 Filter 拦截的次序问题,如果 SSH 的 Filter 配置在前面,会先拦截请求,如果没有将请求放行的话, jfinal 就收不到请求
建议将 JFinalFilter 配置在 SSH 用的 Filter 之前。 然后为 jfinal 添加一个 handler,放行一些应该老项目处理的 url,大致这样的 handler 代码:
if (isOldProjectNeedProcess(target)) {
return ;
}
next.handled(target, request, response, isHandled);
2017-08-15 16:21
@高达1234 在本站首页右侧可以下载到 Enjoy 3.2 手册,内容很少,一会就看完了。表达式规则与 java 保持一致,所以学习成本很低
2017-08-15 16:14
@Bay_Max 使用 Db.tx(...) 做事务就可以了,看一下 jfinal 手册
2017-08-15 16:09
在 YourJFinalConfig extends JFinalConfig 中添加一个方法解决一下,大致如下:
private void loadConfig() {
// 加载用于指定开发模式的配置文件
PropKit.use("application.properties");
// 读取 dev 模式
boolean dev = PropKit.getToBoolean("dev");
// 移除默认的配置文件,第一个被 use 的文件会成为默认配置文件
PropKit.useless("application.properties");
if (dev) {
PropKit.use("application-dev.properties");
} else {
PropKit.use("application-prod.properties");
}
}
然后在 configConsant(Constants me) 方法的第一行处调用一次即可,如果希望更简单,最的的四行代码可以这样:
PropKit.use(dev ? "application-dev.properties" : "application-prod.properties");
在 jfinal 之下,大概是 5 行代码可满足这个需求,但同时又不限定你的配置文件名称,少了一些约定,学习成本低