3
回答
jfinal SessionInViewInterceptor拦截器为什么获取不到session?
终于搞明白,存储TCO原来是这样算的>>>   

@JFinal 你好,想跟你请教个问题:

我使用全局拦截器SessionInViewInterceptor,希望将session传到freemarker页面上,

/**
 * 配置全局拦截器
 */
public void configInterceptor(Interceptors me) {
        me.add(new SessionInViewInterceptor());
        me.add(new CommonInterceptor());
}

但是页面始终获取不到session,于是我跟踪了一下代码,发现:

导致页面无法获取session,真是奇怪啊,不知道问题出在哪里,

希望各位大侠帮忙指导下,谢谢啦!


举报
jelly_oy
发帖于2年前 3回/1K+阅
共有3个答案 最后回答: 2年前

   在配置 SessionInViewInterceptor 拦截器时,如果指定构造参数 createSession 值为 true时,那么 jfinal 在试图获取 session 时也会将这个值传递给底层的 servlet:

me.add(new SessionInViewInterceptor(true));

    这里的一个知识点就是 HttpServletReuest.getSession(boolean) 方法中的参数决定了在 session不存在时是否要创建一个 session对象。

引用来自“JFinal”的评论

   在配置 SessionInViewInterceptor 拦截器时,如果指定构造参数 createSession 值为 true时,那么 jfinal 在试图获取 session 时也会将这个值传递给底层的 servlet:

me.add(new SessionInViewInterceptor(true));

    这里的一个知识点就是 HttpServletReuest.getSession(boolean) 方法中的参数决定了在 session不存在时是否要创建一个 session对象。

me.add(new SessionInViewInterceptor(true));
这样就可以了

谢谢波总的指导,问题已经解决!

--- 共有 1 条评论 ---
jinliang1我也配置了全局拦截器,我还是不行啊, 2年前 回复
顶部