使用基於XML配置方式實現輸入校驗時,Action須要繼承ActionSupport,而且提供校驗文件,校驗文件和action類放在同一個包下,文件的取名格式爲:ActionClassName-validation.xml,其中ActionClassName爲action的簡單類名,-validation爲固定寫法。若是Action類爲org.struts2.action.UserAction,則該文件應命名爲:UserAction-validation.xml。校驗文件的模板以下: css
<?xml version="1.0" encoding="UTF-8"?> ui
<!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator 1.0.3//EN" "http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd"> <validators> spa
<field name="username"> xml
<field-validator type="requiredstring"> 繼承
<param name="trim">true</param> 資源
<message>用戶名不能爲空</message> 字符串
</field-validator> string
</field> io
</validators> 模板
在validators下能夠出現兩個元素:validator field;如果field則表示字段優先,將使用字段校驗器配置風格;若爲validator則使用非字段校驗器配置風格.
<filed>指定action中要校驗的屬性,<field-validator>指定校驗器,上面指定的校驗器requiredstring是由系統提供 的,系統提供了能知足大部分驗證需求的校驗器,這些校驗器的定義能夠在xwork-2.x.jar的com.opensymphony.xwork2.validator.validators下的default.xml中找到。
<message>爲校驗失敗後的提示信息,若是須要國際化,能夠爲message指定key屬性,key的值爲資源文件中的key,在這個校驗文件中,對action中字符串類型的username屬性進行驗證,首先要求調用 trim()方法去掉空格,而後判斷用戶名是否爲空。
在作完以上處理後,還得在相應界面加上:<s:fielderror name="xx" cssStyle="color.red" />,這樣,便會輸出紅色錯誤提示信息。