2017-06-27 10:17

@liuzy666 服了你了,整合 ueditor 根本不需要 jsp,你仔细看一下 jfinal club 项目,用一个 UploadController 就可以将 ueditor 的所有需要 jsp 的地方接管了

而且可以删掉 ueditor 里面所有 jar 包,所有 jsp 文件,根本不需要

2017-06-26 21:28

直接用 jfinal template engine 少很多麻烦, jsp 都十几年前的技术了,而且很多年没有进步

2017-06-26 17:12

@libg 按照 jfinal 手册中的那个配置截图去设置就好

2017-06-26 12:43

在我这里是可以 的,你重启一下 eclipse 试试

2017-06-24 10:54

@白山 全局拦截器与 web.xml 无关,拦截器的配置在 jfinal 手册中有详细的说明,在本站首页下载 jfinal 手册,一看就全明白了

2017-06-24 10:33

@snakelenas 已经改进了,改成了下面的方式:
protected void toKeyValue(String key, Object value, StringBuilder sb, int depth){
sb.append('\"');
if(key == null)
sb.append("null");
else
escape(key, sb);
sb.append('\"').append(':');
sb.append(toJson(value, depth));
}

后续我也会继续留意这个 JFinalJson 的其它地方有没有可以优化的地方,暂时先优化这个地方,再次感谢 !

2017-06-24 10:28

@snakelenas 改动很小,下个版本会添加这个改进,感谢你的分享

2017-06-24 10:27

JFinal 官方广告:如果想得到本站所有源代码可以考虑加入俱乐部 http://jfinal.com/club

2017-06-24 10:26

几乎都是用的全局拦截器来实现这个功能,下面贴出本站的相关代码片段:

public class LoginSessionInterceptor implements Interceptor {

public void intercept(Invocation inv) {
Controller c = inv.getController();
String sessionId = c.getCookie(LoginService.sessionIdName);
if (sessionId != null) {
Account loginAccount = LoginService.me.getLoginAccountWithSessionId(sessionId);
if (loginAccount == null) {
loginAccount = LoginService.me.loginWithSessionId(sessionId);
}
if (loginAccount != null) {
// 用户登录账号
c.setAttr(LoginService.loginAccountCacheName, loginAccount);
} else {
// cookie 登录未成功,证明该 cookie 已经没有用处,删之
c.removeCookie(LoginService.sessionIdName);
}
}

inv.invoke();
}
}

2017-06-24 10:21

JFinalJson 这段代码有五年多的历史了,当时的定位是一个简易的 json 工具,现在看来使用频度越来越大,远超原本的设计目标,是该优化一下了

感谢你的反馈

2017-06-23 17:33

如果你是希望将 ActiveRecordPlugin 独立于 web 独立于 jfinal 项目去使用,看一下 jfinal 手册第五章第 13 小节,专门讲了这个事

2017-06-23 17:31

Plugins 是 jfinal 维护的,你自己 new 出来的自己可以随时获取,但 jfinal 自身无法感知到

2017-06-23 17:30

ActionInvocation 是老版本的 jfinal 用的,后续新版本改成了 Invocation,以 jfinal 手册中的例子为准

2017-06-23 17:18

@i++ 刚添加了一个 Engine.getTemplateCacheSize() 方法,可以去 github.com/jfinal/jfinal 下载最新版本的 jfinal 获取代码,记得用上以后反馈给我

2017-06-23 17:11

还有一个办法是对 getTemplateByString 添加一个 key 参数,让这个 key 值是固定不变的:
engine.getTempateByString("myTemplate", content);

还需要考虑很多,现在的情况下,对于 String Template 的使用可以暂时自己写点代码扩展