gpt4 book ai didi

jsp - 登录失败后在登录页面显示错误消息

转载 作者:行者123 更新时间:2023-12-02 11:52:44 26 4
gpt4 key购买 nike

这是来自login.jsp的部分代码

登录.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 代码中,如果用户不存在,我将使用带有错误消息的 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") 是否为 null 。是不是然后调用 <h2><%=request.getAttribute("errorMessage") %></h2> 。我该怎么做?或者有更好的方法

最佳答案

由于您已经在 jsp 中使用了 scriptlet,因此您可以使用:

<%
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 .

关于jsp - 登录失败后在登录页面显示错误消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21903765/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com