2016-10-12 17:44
@合金来了 怎么解决的,直接改的数据库类型,还是改的 BaseModel 中的代码?
2016-10-12 17:36
在自建的 BaseController 中做这些事情即可,jfinal 社区就是这么用的,直接拿去用就好:
public class BaseController extends Controller {
private Account loginAccount = null;
public Account getLoginAccount() {
if (loginAccount == null) {
loginAccount = getAttr(LoginService.loginAccountCacheName);
if (loginAccount != null && ! loginAccount.isStatusOk()) {
throw new IllegalStateException("当前用户状态不允许登录,status = " + loginAccount.getStatus());
}
}
return loginAccount;
}
public boolean isLogin() {
return getLoginAccount() != null;
}
public boolean notLogin() {
return !isLogin();
}
/**
* 获取登录账户id,默认已经登录,所以不必判断 null 值
*/
public int getLoginAccountId() {
return getLoginAccount().getId();
}
/**
* 使用 ret.getData() 作为参数,调用父类的 renderJson(Object)
* 考虑添加该特性到 jfinal 2.3
*/
public void renderJson(Ret ret) {
renderJson(ret.getData());
}
}
2016-10-12 16:46
@合金来了 可能是 jdbc 无法将这种类型转成 java.sql.Timestamp,建议通过继承 BaseModelGenerator 来改造一下生成器
2016-10-12 16:08
@xRhbN jfinal 没有对第三方有强制依赖,所以无需重新打包开箱即用,jfinal 自身才 300K 左右,自己打包基本没有意义
2016-10-12 16:04
@nbjgl 前面不是说得很清楚了,避免调用 next.handle(...) 那么 jfinal 后续的组件就不会接手,使用 isHandled[0] = true; 那么 jetty/tomcat 就不会接手,你确定这两项你都做了?