我在jsp页面中编写了一个jsp重定向,就像这样
<s:if test="#session.Doctor = true ">
<script type="text/javascript">
top.location.href = "dashboard";
<s:property value="#session.Doctor" />
</script>
</s:if>
当我重新启动Tomcat时,标签在我的jsp页面中打印true
。但我在struts中编写了一个拦截器来检查会话System.out.println(session.get("doctorLogin")+"test");
,并在重新启动页面时打印null
。在这里我可以理解,当我重新启动tomcat时会在java中清除会话,并且当我重新启动tomcat时,会话在jsp中持续存在。有没有人知道为什么这个会话在java页面中被清除的原因以及为什么在重启tomcat时它不在jsp页面中。有人有想法吗?
我使用struts2,hibernate和tomcat6作为服务器
感谢。
答案 0 :(得分:1)
if标签中的测试是否已损坏?
在java中,表达式session.Doctor = true
不检查session.Doctor的值。相反,它将值
尝试使用<s:if test="#session.Doctor == true ">
(注意第二个等于)