2012-07-13 61 views
0

我正在尋找一些方法使用與登錄頁面和登錄錯誤頁面相同的登錄頁面。我找到了一種方法來做到這一點。當用戶輸入錯誤的用戶名或密碼時,它應該使用顯示錯誤警告的同一頁面。但是錯誤警告從不顯示。任何人都可以請檢查它有什麼問題嗎?JSP/JSTL如何重用我的login.jsp登錄錯誤頁面

在我的web.xml:

<login-config> 
    <auth-method>FORM</auth-method> 
    <form-login-config> 
     <form-login-page>/login.jsp</form-login-page> 
     <form-error-page>/login.jsp?Retry=True</form-error-page> 
    </form-login-config> 
    </login-config> 

在我的login.jsp:

<form class="login" METHOD=POST ACTION="j_security_check"> 
<table> 
    <c:if test='${not empty param["Retry"]}'> 
     <tr> 
     <td colspan="2" class="lploginerrormessage">Incorrect User ID 
       or Password. Please try again.</td> 
     </tr>> 
    </c:if> 

    <tr> 
     <td>User ID:</td> 
     <td><input type="text" name="j_username" size="20"></td> 
    </tr> 
    <tr> 
     <td>Password:</td> 
     <td><input type="password" name="j_password" size="20"> 
     </td> 
    </tr> 
</table> 
</form> 

假設 「不正確的用戶名或密碼,請再試一次。」將顯示用戶是否輸入了錯誤信息。但無論輸入錯誤的登錄信息多少次都不顯示。 我沒有發現任何不正確的東西。任何人都可以告訴我我的代碼有什麼問題嗎? 也歡迎任何有關如何實現相同目標的其他想法。如果這個想法很好,我會贊成你。

+0

這是什麼意思,它不工作?它沒有顯示錯誤信息? – kosa 2012-07-13 15:31:49

回答

0

謝謝thinksteep快速回復。我找到了原因。這是因爲我包含錯誤的來源。我應該使用<%@ taglib prefix =「c」uri =「http://java.sun.com/jstl/core」%>而不是<%@ taglib prefix =「c」uri =「http:// java .sun.com/jsp/jstl/core「%>