利用Struts的靜態數據驗證方法可以對用戶在表單上輸入的數據進行驗證,包括數據類型是否正確、是否可空等。方法如下:
1、在struts-config.XML文件中加入
<message-resources parameter="ApplicationResources" />
<plug-in className="org.apache.struts.validator.ValidatorPlugIn">
<set-property property="pathnames" value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml" />
</plug-in>
其中parameter="ApplicationResources"意味著在Java源代碼根部,如src/下有一屬性文件ApplicationResources.properties,但為了能顯示中文件信息
在src/下還應有文件ApplicationResources_zh_CN.properties, 兩文件最後打包到WEB-INF/classes下。
2、利用開發工具在WEB-INF/下導入validator-rules.xml及validation.xml文件。這是有關驗證規則及驗證內容的配置文件。
3、為表單屬性加入中文說明,如有個formBean,名為form1,有三個屬性,name、height、born,分別是姓名、身高、出身日期
在ApplicationResources.properties文件中加入屬性的解釋說明:
errors.integer={0} 必須為整型值,請注重編輯框內不能有空白字符串.
errors.date={0} 日期格式錯誤,應為 2004-03-23 或 2004-03-23 00:00:00.0 (00:00:00.0 為時:分:秒.毫秒)
# form1
form1.name.displayname=姓名
form1.height.displayname=身高
form1.born.displayname=出身日期
第一、二行不是必須的,但有意義。
打包前執行下列批處理 native2ascii ApplicationResources.properties ApplicationResources_zh_CN.properties,目的是由文件ApplicationResources.properties
產生新文件ApplicationResources_zh_CN.properties,以便能正確顯示漢字,這個新文件也在src/下。
4、為了驗證用戶在填寫表單時輸入的數據,在validation.xml文件的<formset></formset>之間加入如下內容