在会话变量上使用 c:remove 后如何使用 c:if?

How to use c:if after using c:remove on session variable?

我试图在会话中设置错误消息后将其删除。 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"/>

我附上了启动项目时显示空白框的登录页面的图像。

如有任何帮助,我们将不胜感激。

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

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