2008-09-11 96 views
0

什麼可以爲構建在Spring 2.5爲企業應用程序驗證框架構建在Spring 2.5

中端企業級的業務應用程序中編寫驗證層最好的策略,我知道,Spring提供的設施,我們可以實現Validator接口和寫驗證方法中的驗證邏輯。但是,這將僅限於通過彈簧控制器發出的Web請求。

我想開發可在Web服務調用期間使用的驗證框架。

換句話說,框架可以保持並獨立調用,無需實現Validator接口,然後它可以自動集成到Spring MVC流程中。

希望你明白我的觀點。

回答

0

回想一下,驗證程序接口定義了兩種方法:

boolean supports(Class clazz) 
void validate(Object target, Errors errors) 

Object target是表單對象,這是要顯示給用戶的代表頁面整個對象。錯誤實例將包含將顯示給用戶的錯誤。

因此,您需要做的是定義一箇中介,您可以使用表單中的特定內容來調用您想要驗證哪些內容與您的Web服務中的內容相同。中介可以採取兩種形式:

  1. (可能是最好的):

    public interface ErrorReturning { 
        public void getErrors(Errors errors); 
    } 
    
  2. (這會變得非常惡劣的真快,如果是添加兩種以上的狀態):

    public interface ValidationObject { 
        public Errors getErrors(Errors errors); 
        public Object getResultOfWebServiceValidation(); 
    } 
    

我會建議實施第一種方法。通過您的常見驗證,可以直接傳遞可用於Web服務驗證的對象,但允許其實施getErrors()方法。這樣一來,在你驗證了春天,您的驗證方法中,你可以簡單地調用:

getCommonValidator().validate(partialObject).getErrors(errors); 

您的Web服務是圍繞着調用getCommonValidator().validate(partialObject)用於在Web服務中使用的直接對象。

第二種方法是這樣的,儘管接口只允許從給定對象返回一個對象用於Web服務驗證對象,而不是該對象本身是可用的Web服務驗證對象。