此处之后的代码某些部分从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