首页 > 代码库 > session过期情况下弹出窗口显示2个登陆页面的问题处理
session过期情况下弹出窗口显示2个登陆页面的问题处理
根据多年的web开发经验,一般当session过期之后,当用户点击任何一个按钮之类的,都是自动跳转到登陆页面,这个在网上有很多过滤器,拦截器实现。
那么在使用类似jquery easy ui的时候,如果页面有一些弹出窗口,是在弹出了窗口再去加载地址拉数据出来的,就会出现父页面跳到登陆页面,弹出页面也跳到登陆页面。
如何解决这个问题呢,我的办法如下:
首先,在过滤器中如果是session过期的话,自动跳到登陆页面,并且带上一个固定参数,在页面index.jsp中获取这个参数,如果存在。
其实就是在这个页面中手动关闭弹出的页面,只保留父页面的location跳转。
<% String timeout =request.getParameter("timeout"); if(timeout!=null){ %> <script type="text/javascript"> if(window != top){//当这个窗口出现在iframe里,表示其目前已经timeout,需要把外面的框架窗口也重定向登录页面 top.location.href = http://www.mamicode.com/‘/index.jsp‘; //关闭弹出窗口 window.close(); window.opener.document.location.reload(); }else{ top.location.href =‘<%=request.getContextPath()%>/index.jsp‘; //关闭弹出窗口 window.close(); window.opener.document.location.reload(); } </script> <% }else{ } %>
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。