如何在jstl中刷新页面后检查表单是否已提交

时间:2015-03-05 21:17:09

标签: java jsp jstl

我有一个bean类,它包含一个名为errorMessages的ArrayList属性。这是我的二传手和吸气鬼。

    public ArrayList<String> getErrorMessages() {
        return errorMessages;
    }

    public void setErrorMessages(ArrayList<String> errorMessages) { 
        this.errorMessages = errorMessages;
    }

我正在使用add()方法添加相关的错误消息,其中我需要验证其他属性。像:

public void setNewPassword(String newPassword) {
    if(Validator.isPasswordValid(newPassword)) {
        this.newPassword = newPassword;
    } else {
        errorMessages.add("Password must be between 6-18 characters!");
    }
}

我的jsp页面似乎是:

<c:if test="${not empty param.signup}">
//some code...

    <c:if test="${not empty signup.errorMessages}">
        <div class="alert alert-danger" role="alert">
            <c:out value="Something went wrong. Check errors written below."/><br />
            <c:forEach items="${signup.errorMessages}" var="errors">
                <c:out value="- ${errors}" /><br />
            </c:forEach>
        </div>          
    </c:if>
<c:if>

因此,当我尝试注册并在浏览器上出现错误时,即使刷新页面,错误消息也不会消失。我尝试将errorMessages属性设置为null并检查提交的表单。两者都不起作用。问题似乎很基本,但我找不到合适的解决方案。提前谢谢。

编辑:“注册”是指使用页面范围创建的bean对象,我也尝试了请求范围。结果是一样的。这是代码:

<jsp:useBean id="signup" class="myPackage.AccountManagerBeans" scope="page" />

0 个答案:

没有答案