什么是<spring:hasbinderrors>?</spring:hasbinderrors>

时间:2014-05-15 13:27:35

标签: spring spring-mvc

什么是<spring:hasBindErrors>?它有什么用?

我尝试使用谷歌但却找不到任何有用的内容。

1 个答案:

答案 0 :(得分:2)

spring:hasBindErrors是一个spring标记,它为您提供绑定对象(通常是表单)的错误。错误在表单对象的验证方法中设置。如果绑定表单对象有错误,则pageScope中将出现错误。

您可以将错误设置如下:

表单对象:

    public class YourForm implements Serializable{
        private String name;
        private String company;
        //mutators
        ... 
    }

您正在验证程序中使用验证方法验证此表单:

    public class YourValidator implements Validator{

        public boolean supports(Class<?> clazz) {
            return clazz.equals(YourForm.class);
        }

        public void validateYourViewName(YourForm yourForm, Errors errors) {
            YourForm yourForm = (YourForm)object;
            if (yourForm.getName() == null || yourForm.getName().length() == 0){
                errors.rejectValue("name", "name.required", "Name field is missing");
            }
        }
        ...
    }

在你的jsp中,你可以看到错误:

    <spring:hasBindErrors name="yourForm">
        <c:forEach var="error" items="${errors.allErrors}">
        <b><spring:message message="${error}" /></b>
        <br/>
        </c:forEach>
    </spring:hasBindErrors>

标记中的属性:name:绑定或验证的表单名称 您还可以从错误中获取更多详细信息: errors.errorCount:错误的数量 errors.allErrors:所有错误 errors.globalErrors:为对象注册的错误

您可以找到有关可以从错误对象here检索和查看的内容的更多详细信息。