JSP中解決session超時跳轉到登錄頁面並跳出iframe框架或局部區域的方法

       當session會話超時,頁面請求被從新定位到了登錄界面。因大都採用Ajax動態局部請求,致使返回登錄頁面被嵌套在系統界面的局部區域中,並不是想要的效果。通常頁面主體佈局採用iframe框架進行分割,或者簡單實用table等實現一樣樣式效果,在此簡單介紹後臺頁面從新定向到登錄界面返回前臺後,前臺進行從新再次定向到登錄界面實現登錄界面無暇。javascript

        在登錄界JSP面增長如下內容:html

<%@ page language="java" contentType="text/html; charset=UTF-8"%>
<%
     String path = request.getContextPath();
     String basePath = request.getScheme() + "://" + request.getServerName() + ":" 
                        + request.getServerPort() + path + "/";                        
%>

<script type="text/javascript">
    // 頁面初始化,本處使用定時器處理
    // 若是使用onload或者jquery的$(document).read(function(){...});未必能達到效果。因地制宜。
    
    var initScript = setInterval(function(){
    
            // 針對iframe嵌套的狀況
            if (window.top!=null && window.top.document.URL!=document.URL){
                clearInterval(initScript);
                window.top.location.href = document.URL; 
	    }
	    
	    // 針對table佈局,非iframe狀況
	    if(document.getElementById("你頁面頭區域某個元素Id")){
	        clearInterval(initScript);
		window.top.location.href = "<%=basePath%>你的登錄界面相對路徑"; 
	    }
        },400);

</script>
相關文章
相關標籤/搜索