想必大家都做过这样的一个系统,系统是用struts2+spring+hibernate开发的,图的上面是一个iframe, name为left,左边是一个iframe,名字叫top,中间也是一个iframe,名字叫main,我现在的需求是:
现在的session的生命周期为半个小时,如果用户超过半个小时没有操作,那么session就失效了,
当用户点击main的iframe里面的任何列都会被struts2的拦截器所拦截
现在的问题是:拦截器拦截后,会跳转到login.jsp页面,但是只有名字为main的iframe的内容才会显示login.jsp,其他的iframe的内容没有变,就像这样我想直接是整个页面都变成login.jsp,像这样:应该怎样做呢?这样的需求应该很常见iframestruts2jspiframe跳转

解决方案 »

  1.   

    parent.window.document.location.href=contextPath+'/jsp/login.jsp';
      

  2.   

    2楼的方法不正确
    我的流程是这样的:
    当session失效的时候,用户再点击列表,即请求后台action,会被拦截器拦截,然后跳转到登录界面(login.jsp),问题是跳转到login.jsp之后,系统就出现第二个图的状况,我需要的是整个页面都跳转!
      

  3.   

    换个方法行不行
    不直接跳到login.jsp 跳到一个空jsp,里面就一句话就行了<script>
    parent.window.document.location.href='/login.jsp';
    </script>
      

  4.   

    不是跳转的问题,是这样的
    我现在从main的iframe里面通过action进行跳转,不管怎样跳转,都只是main的iframe里面变成跳转的页面,而top和left的没有变,而用window.parent的话,只能在js里面执行,看第一图上面的退出系统,就可以指定整个界面都跳转到login.jso
      

  5.   

    这个问题我也遇到过,解决方法: 
    parent.location.href = '<%=path%>/login.jsp';
    http://blog.csdn.net/qiaoshuai0920/article/details/7755261
      

  6.   

    <a href="javascript:window.top.location.href='login.jsp'"></a>如果是超链接的话,这样可以,楼主你试试
      

  7.   

    我想了下,楼主你的问题。如果按上面的解决的话,那么你session没关闭的时候,也是整个页面显示。相当于写死了。希望了解更多。
      

  8.   

    嗯嗯,谢谢你们,我的问题解决了,但是结果特别戏剧化
    用4楼的方法,结果上面的iframe可以跳转到login.jsp,并且是整个页面
    但是放在main里面,还是只有main的iframe变了,
    于是我弄成这样
    window.parent.parent.location.href='<%=basePath%>erp/report/invokeLogin.action';
    这样多加个parent,居然好了