我在登出的Action里做了这个动作
session.setAttribute("UserInfo",null);
session.removeAttribute("UserInfo");但是当客户点击浏览器返回上一页,并刷新的时候竟然还可以使用这个对象
我在此页用了一下代码检测
<logic:notPresent name = "UserInfo">
<Form name = "logoutFrm" method = "post">

</Form>
<Script Language = "JavaScript">
alert("<bean:message key = 'system.timeout.prompt'/>");
document.logoutFrm.action = "../logoff.do";
document.logoutFrm.target = "_top";
document.logoutFrm.submit();
</Script>
</logic:notPresent>
可没执行,我以为检测有问题,换了个对象,利马可以执行,系统登出。
这说明此对象还存在。请高手给个合理解释

解决方案 »

  1.   

    <logic:notPresent name = "UserInfo">
         <%=session.getAttribute("UserInfo")%>
    </logic:notPresent>
    看看 什么值
    <logic:notPresent name = "UserInfo">判断页作用域中是否存在一个名为”UserInfo”的bean
      

  2.   

    会不会你这个UserInfo的FormBean的生存期设置为session了,在struts.config.xml里
      

  3.   

    登出到另一个页面我做了检查了,是被清除了,可当用户点击浏览器的Back是,又可以返回到前一页面,不管刷新与否,这时候发现这个session还是存在的,纳闷
      

  4.   

    这个Session存储了一个Hibernate Bean,所以没在struts.config.xml配置