對於輸入校驗struts2提供了2種實現方法:
1.採用手工編寫**實現:
1)action要繼承actionsupport類,並且重寫validate方法,將錯誤資訊新增到addfielderror方法中;
2)在頁面中利用struts2標籤將其()顯示出來,這樣可以對所有的action中所有的方法進行校驗。
3) 如果想要對指定方法進行校驗,可以validate方法寫成validate***方法,***為action中的具體方法,第乙個字母要大寫。
2.採用xml配置方式實現:
1)action要繼承actionsupport類,並提供校驗檔案,校驗檔案和action類放在同乙個包下,檔案的取名格式為:actionclassname-validation.xml,其中actionclassname為簡單類名,例如,如果類名為useraction,那麼該檔案為useraction-validation.xml。
2)xml的具體配置格式為:
true
名字錯!
手機號錯!
手機號格式錯!
指定action中要校驗的屬性,指定校驗器,上面指定的校驗器requiredstring是由系統提供的,這些校驗器可以在xwork-2-x.jar中的
com.opensymphony.xwork2.validator.validators.default.xml中找到,為校驗失敗後的提示資訊,如果需要國際化,可以為指定key屬性,key的值為資源檔案中的key。
在這個校驗檔案中,對action中字串型別的name屬性進行校驗,首先要求呼叫trim()方法去掉空格,然後判斷使用者名稱是否為空。
3)如果要對指定方法進行校驗,檔案的取名格式為:actionclassname-actionname-validation.xml;
4)當為某個action提供了actionclassname-validation.xml和actionclassname-actionname-validation.xml兩種規則的校驗檔案時,系統按下面順序搜尋校驗檔案:
actionclassname-validation.xml
actionclassname-actionname-validation.xml
系統搜尋到所有的校驗規則後,會將所有規則彙總,然後應用於action方法的校驗。如果兩個校驗檔案有衝突,則使用後面檔案中的校驗規則。
5)當action繼承了另乙個action,父類action的校驗檔案會先被搜尋到。
輸入校驗的流程:
1)型別轉換器對請求引數進行型別轉換,並把轉換後的值賦給action中的屬性;
2)如果在型別轉換的過程中出現異常,系統會將異常資訊儲存到actioncontext,conversionerror***將異常資訊新增到fielderrors裡,不管型別轉換是否出現異常,都會進入第三步;
3)系統通過反射技術先呼叫action中的validate***()方法;
4)再呼叫action中的validate()方法;
5)經過上面4步,如果系統中的fielderrors存在錯誤資訊(即存放錯誤資訊的集合的size > 0),系統自動將請求**至名稱為input的檢視。如果系統中的fielderrors沒有任何錯誤資訊,系統將執行action中的處理方法。
struts2輸入校驗
struts2輸入校驗主要分為兩種 1 實現校驗 action需要繼承actionsupport,並在action重寫validate 方法,在validate方法中,根據頁面的相應元素名稱進行相關校驗,如果校驗不通過,呼叫this.fielderror 頁面元素name,出錯提示資訊 然後返回in...
Struts2輸入校驗
在struts2中可以對action中的所有方法實現校驗,也可以針對指定方法進行校驗。struts2中實現上述的校驗又可以分為手動編寫 實現和配置xml檔案方法 手動編寫 校驗 a.對所有和 execute方法簽名相同的方法進行校驗 通過重寫validate 方法實現 validate 方法會校驗a...
Struts2輸入校驗
幾乎每乙個 web開發者都會遇到輸入校驗的問題,輸入校驗直接影響了系統的抗破壞效能和穩定性。輸入校驗往往同型別轉換聯絡在一起,在判斷使用者輸入資料的合法性之前,需要先進行型別轉換判斷,然後再進行輸入校驗處理。兩者都是對使用者輸入資料的規範化檢查和處理。struts2 框架為開發者的輸入校驗提供了良好...