在使用frame框架的时候,登出按钮也是放在框架中如果不过处理,点击登出后返回的页面会嵌套在框架中,所以要处理一下,同样的session超时也是类似的问题
1.点击退出登录按钮的处理
<div>
<span style="float:right;"><a href="<%=basePath%>loginOut.action" target='_top'>退出登录</a></span>
</div>
2.session超时的处理
在登录页面(是登录页面)添加如下代码
<script type="text/javascript">
/*
top.location:地址栏访问地址
self.location:访问当前页面的地址
*/
if (top.location != self.location){
top.location = self.location;
}
</script>
可以这么理解,假如登录页面的访问地址是 http://localhost:8080/demo,点击登录按钮后,对项目的任何操作,地址栏的地址都不会是http://localhost:8080/demo,当session超时是会被过滤器拦截处理重定向到http://localhost:8080/demo,然后就会跳转到登录页面,这个时候地址栏的地址和当前跳转的地址不同,就会触发top.action = self.location