我是servlet和jsp的新手,对涉及JSTL库的问题几乎没有疑问。通过这样做,我设法使用jsp和servlet做一些登录页面
<form action="authentication" method="POST">
<div class="form-group">
<label for="#">Username</label>
<input type="text" class="form-control" placeholder="username" name="username" />
</div>
<div class="form-group">
<label for="#">Password</label>
<input type="text" class="form-control" placeholder="password" name="password" />
</div>
<div class="form-group">
<button type="submit" class="btn btn-primary">Submit</button>
</div>
</form>
如果用户名和密码不正确,我的servlet将设置response.setStatus(404)
。所以我像这样对我的jsp文件进行了脚本编写,并且工作正常
<% if(response.getStatus() == 404) {
%>
<span>username/password is incorrect...</span>
<%
}
%>
通过阅读一些JSTL教程,我不想使用<c:if></c:if>
来升级if条件,所以到目前为止,我一直尝试(不起作用)的是这个。
<c:if test="${response.getStatus() == 404}">
<span>username/password is incorrect...</span>
</c:if>
所以我做了一些调查,然后尝试输出响应对象
<c:out value="${response.getStatus()}"></c:out>
,但未显示任何内容。 我的问题是,JSP隐式对象是否在JSTL lib上工作?谢谢
有关我的servlet的更多信息,这就是我执行doPost的方式
public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
//utility
PrintWriter out = response.getWriter();
RequestDispatcher requestDispatcher = request.getRequestDispatcher("index.jsp");
String username = request.getParameter("username");
String password = request.getParameter("password");
if(!username.equals("admin") && !password.equals("admin")) {
response.setStatus(404);
} else {
requestDispatcher = request.getRequestDispatcher("home.jsp");
}
requestDispatcher.forward(request, response);