天天看點

Struts 服務端表單資料驗證流程

        當ActionServlet接到請求在講這個請求交給具體的Action處理之前,struts架構會檢查配置檔案中這個action是否配置了name屬性。如果沒有配置,那麼資料的驗證工作隻能在Action中由程式員來完成。如果有這個name屬性,那麼struts架構會自動把送出的表單資料封裝到一個ActionForm對象中,然後檢查這個action的validate屬性是否為true。如果不是true,那麼表單資料的驗證工作也隻有在Action中完成。如果是true,那麼struts架構會自動調用這個ActionForm的validate方法。這個validate方法會傳回一個ActionErrors對象,如果這個對象為null或者沒有包含ActionMessage對象,說明驗證通過。此時在Action中就可以省略對表單資料的驗證工作,而直接進行業務邏輯代碼的編寫工作。如果驗證不通過,那麼struts架構會把請求自動轉發到input屬性指定的路徑。

        上述中的validate方法可以有程式編寫完成,也可以通過配置檔案告訴struts的驗證架構,讓它來自動完成資料的驗證工作。