1. 程式人生 > >struts2校驗、ajax校驗、javascript驗證有何區別及聯絡?

struts2校驗、ajax校驗、javascript驗證有何區別及聯絡?


Struts2的validate資料校驗有兩種方式:
1.    Action中的validate()方法
Struts2提供了一個Validateable介面,這個介面中只存在validate()方法,實現這個介面的類可直接被Struts2呼叫,ActionSupport類就實現了Vadidateable介面,但他的validate()方法是一個空方法,需要我們來重寫。
validate()方法會在execute()方法執行前執行,僅當資料校驗正確,才執行execute()方法, 如錯誤則將錯誤新增到fieldErrors域中,如果定義的Action中存在多個邏輯處理方法,且不同的處理邏輯需要不同的校驗規則,這種情況下validate()會對所有處理邏輯使用相同的校驗規則,為了實現不同的校驗邏輯,需要通過validateX()方法,其中X表示處理邏輯的方法名。
2.    通過XWork校驗框架

使用validate方法校驗時,如果Web應用中存在大量Action就需要多次重寫validate方法,因此可以使用XWork的validator框架來對Struts2進行資料校驗,減少程式碼量。
在com.action包下建立驗證檔案LoginAction-validation.xml,注:當一個Action中有多個業務處理方法是,命名規則為:actionName-methodName-validation.xml,其中actionName為Action類名,methodName為Action中某個業務處理方法的方法名,並且檔案的搜尋順序與方式一種validate()和validateX()一樣。