防止登入頁面出現在frame中,防止登入頁面frame
在使用frame頁面嵌套開發的時候,遇到重啟了伺服器的時候會出現登入頁面在frame頁面中出現,
所以需要在登入頁面裡面用js判斷下當前的地址資訊,然後跳轉到登入的單獨頁面中。
js代碼如下:
$("document").ready(function(){//防止在frame裡面出現登入頁面if(top.location!==self.location){ //alert(top.location); //alert(self.location); top.location.href=self.location.href; } });
frameset在配置webconfig中loginUrl之後,頁面會出現三個登入,也就是每個frame裡面都會有一個
把以下代碼加在login頁面中
<script language="javascript">
//防止每個iframe出現一個login頁面
function gototop()
{
if(top)
{
if(top.location!=self.location)
{
top.location=self.location;
}
}
}
</script>
struts2登入攔截器頁面跳轉的問題,使用了frameset
要在整個視窗開啟可以在interceptor驗證session失效後進入一個JSP中間跳轉的頁面,再這個頁面中自動進入登入的頁面。
樣本JSP如下
<%@ page language="java" contentType="text/html; charset=GBK" errorPage="/default_error.jsp"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://"
+ request.getServerName() + ":" + request.getServerPort()
+ path + "/";
%>
<html>
<head>
<script type="text/javascript">
window.top.location.href="<%=basePath%>login.jsp";
</script>
</head>
</html>