如何使用c:如果使用c:remove会话变量?

时间:2016-03-24 02:49:35

标签: java jsp jstl

我正在尝试在会话中设置它后删除错误消息。即使我删除了属性,if中的代码也会运行。

<div class="container">
<div class="row">
    <div class="col-md-6 col-md-offset-3">
        <c:if test="${not empty success}">
            <div class="alert alert-success">
                ${success}
            </div>
        </c:if>
        <c:remove var="success"/>
        <c:if test="${not empty error}">
            <div class="alert alert-danger">
                ${error}
            </div>
        </c:if>
        <c:remove var="error"/>
        <form action="Login">
            <div class="form-group">
                <p>Username: </p><input class="form-control" type="text" name="uname" required>
            </div>
            <div class="form-group">
                <p>Password: </p><input class="form-control" type="password" name="pword" required>
            </div>
            <button class="btn btn-primary">Login</button>
            <a href="register.jsp" class="btn btn-primary">Register</a>
        </form>
    </div>
</div>

设置错误消息时会显示错误消息,但删除后仍显示div。 我也尝试将范围设置为会话。

<c:remove var="success" scope="session"/>

我已经附加了登录页面的图像,显​​示了启动项目时的空框。

enter image description here

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

代码对我来说似乎很好。您是否在JSP文件中声明了核心taglib?以下行应该在JSP文件中:

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>