如何从JSP访问隐式对象到JSTL库

时间:2018-08-24 04:56:23

标签: jsp jstl

我是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);

0 个答案:

没有答案