0

<%
Editor editor = (Editor)session.getAttribute("editor");
if(null == editor){
%>
<script type="text/javascript">
window.parent.location.href = "login.jsp";
</script>
<%
}
%>

このように何度も表示されます

use java code to get something....
if(something is true){
    Then do something with javascript;
}

したがって、jspファイルでjs、javaを分離するための適切なimplが必要です。

4

5 に答える 5

0

与えられたコードに基づいて、すべての JSP で認証をチェックするのではなく、代わりにフィルターを使用することをお勧めします。フィルターで、知っておく必要があることを確認し、代わりに HTTP リダイレクトをログインフォームに送信します。

于 2013-09-25T07:36:53.970 に答える
0

JSTLタグを使用して、jsp で Java コードを使用する最良の方法だと思います。JSTL の詳細については、こちらをご覧ください。

jspファイルに次の行を含めるだけです

<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>

そしてあなたのコードは次のようになります

function redirectFunction() {   
    <c:choose>
        <c:when test="${empty sessionScope.editor}">
            window.parent.location.href = "login.jsp";
        </c:when>
        <c:otherwise>
            //other code will go here.
        </c:otherwise>
    </c:choose>
}

また、この関数を 1 つのdemo.jsファイルに記述して、jsp ファイルに含めることもできます。

<script type="text/javascript" src="javascript/demo.js"></script>

そのすべて

于 2013-09-25T08:30:38.200 に答える