2018-09-29 22:42
@fansunion 注意看控制台输出的 jfinal action report 中的 URL 这一栏
2018-09-29 11:47
@APG jfinal 的 enjoy 引擎是与 Java 直接打通的,这个是 Java 界所有其它模板引擎都没有的设计
在 jfinal enjoy 看来,基于某一门语言,与某一门语言打交道的模板引擎,天然就需要与这门语言打通
2018-09-28 18:10
@不能忍受 两行代码即可:
String xml = renderToString("books.xml");
String ret = HttpKit.post(url, xml);
2018-09-28 18:09
@fox setSessionAttr("user", userVO); 是一定生效了的,这个时候你的 session 还是 null 值,只有两种可能:
1:修改没有生效,例如自动编译没打开,现在启动用的代码本质还是以前的老代码
2:你的客户端不支持 cookie,因为 session 是依赖于浏览器的 cookie 的
2018-09-28 16:25
@fox 你先用 #(session ?? "session 为null") 输出一下,看一看 session 是不是为 null,这样就能确定 user 不存在了
如果 session 本身为 null,估计是你的自动编译没有打开,代码改了没生效而已
2018-09-28 00:29
@fox 上面回复的重点强调一下,在添加全局拦截器的时候为 SessionInViewInterceptor 构造方法添加一个 true 参数:
me.add(new SessionInViewInterceptor(true));
2018-09-28 00:28
@fox 为了提升性能,jfinal 默认并不会创建 session 对象,除非你的项目中明确用到了 session,例如用到了类似于下面的方法:
setSession(...);
getSession(true);
getRequest().getSession(true);
否则,需要为 SessionInViewInterceptor 拦截器指定一个默认创建 session 的参数:
me.add(new SessionInViewInterceptor(true));
不添加这个参数也可以,但在 enjoy 中的使用需要改成下面:
#(session.user.userId ??)
也就是说添加一个双问号操作符,这个操作符的具体作用看一下文档