此處之後的代碼某些部分從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的一種更好的方式
這裏的例子jsp運行時就像h2中的靜態html一樣,只有在提交完成後纔給出返回h2值的條件。發佈完整的jsp和servlet將有助於解決您的問題。 – user2423959