什么是<spring:hasBindErrors>
?它有什么用?
我尝试使用谷歌但却找不到任何有用的内容。
答案 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检索和查看的内容的更多详细信息。