2014-02-20 226 views
2

此處之後的代碼某些部分從login.jsp的在登錄頁面顯示錯誤消息登錄失敗

的login.jsp

  <h2 class="swd-postheader">Login</h2> 
       <form method="post" action="Login.select"> 
       <p><input id="username" name= "username" type="text" placeholder="Username" style="margin:10px" autofocus required></p> 
       <p> <input id="password" name="password" type="password" placeholder="Password" style="margin:10px" required></p> 
       <p><input class="swd-button" type="submit" value="Sign In"> 
        <a href="register.html"><button class="swd-button" type="button">New User</button></a> 
       </p> 
       </form> 
       <h2><%=request.getAttribute("errorMessage") %></h2> 
      </div> 
     </div> 

在servlet代碼,如果用戶簡化版,存在我「M使用的RequestDispatcher與錯誤味精

的servlet

if(res.next()) 
     { 
       if ((thisname.equals(res.getString("username"))) && (thispwd.equals(res.getString("password")))) 
       { 
        session.setAttribute("username", request.getParameter("username")); 
        response.sendRedirect("login-success.html"); 
       } 
       else{ 
        session.invalidate(); 
        request.setAttribute("errorMessage", "Invalid user or password"); 
        RequestDispatcher rd = request.getRequestDispatcher("/login.jsp"); 
        rd.forward(request, response);   
       } 

但事情是<h2><%=request.getAttribute("errorMessage") %></h2>運行時,無論何時登錄jsp打開,當頁面沒有失敗時返回null。只有當失敗發生時,它顯示「無效的用戶名或密碼」。所以我想檢查request.getAttribute( 「errorMessage」)爲空。是不是然後調用<h2><%=request.getAttribute("errorMessage") %></h2>。我該怎麼做?或者是有既然你已經在你的JSP使用scriptlet的一種更好的方式

+0

這裏的例子jsp運行時就像h2中的靜態html一樣,只有在提交完成後纔給出返回h2值的條件。發佈完整的jsp和servlet將有助於解決您的問題。 – user2423959

回答

4

,你可以使用:

<% 
    if(null!=request.getAttribute("errorMessage")) 
    { 
     out.println(request.getAttribute("errorMessage")); 
    } 
%> 

這將是更好,如果你去JSTL:

<c:if test="${not empty errorMessage}"> 
    <c:out value="${errorMessage}"/> 
</c:if> 

要了解更多關於這些$ {}的東西(Expression Language,這是一個與JSTL不同的主題),check here

+0

謝謝Zeeshan。作品完美。正是我需要的。 – Coder17

+0

@ user1069186,歡迎你 – Zeeshan

+0

即使我給出'null!=',頁面也會拋出空指針異常 – user1407668