2014-05-15 57 views

回答

1

spring:hasBindErrors是一個彈簧標籤,它爲您提供了綁定到對象(通常是表單)的錯誤。錯誤在表單對象的驗證方法中設置。如果綁定表單對象有錯誤,則在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> 

標記中的屬性:名稱:綁定或驗證的表單名稱。
您也可以從錯誤中得到更多的細節: errors.errorCount:所有錯誤 errors.globalErrors:錯誤 errors.allErrors數量registerd爲

你可以找到更多細節對象的錯誤是什麼您可以檢索並查看錯誤對象here