當校正檔案的取名為ActionClassName-validation.xml時,會對 action中的所有處理方法實施輸入驗證。如果你只需要對action中的某個action方法實施校正,那麼,校正檔案的取名應為:ActionClassName-ActionName-validation.xml,其中ActionName為struts.xml中action的名稱。例如:在實際應用中,常有以下配置:
<action name="user_*" class="com.jim.action.UserAction" method="{1}“ >
<result name="success">/WEB-INF/page/message.jsp</result>
<result name="input">/WEB-INF/page/addUser.jsp</result>
</action>
UserAction中有以下兩個處理方法:
public String add() throws Exception{
....
}
public String update() throws Exception{
....
}要對add()方法實施驗證,校正檔案的取名為: UserAction-user_add-validation.xml要對update()方法實施驗證,校正檔案的取名為: UserAction-user_update-validation.xml 基於XML校正的一些特點當為某個action提供了ActionClassName-validation.xml和ActionClassName-ActionName-validation.xml兩種規則的校正檔案時,系統按下面順序尋找校正檔案:1。AconClassName-validation.xml2。ActionClassName-ActionName-validation.xml系統尋找到第一個校正檔案時還會繼續搜尋後面的校正檔案,當搜尋到所有校正檔案時,會把校正檔案裡的所有校正規則匯總,然後全部應用於action方法的校正。如果兩個校正檔案中指定的校正規則衝突,則只使用後面檔案中的校正規則。 當action繼承了另一個action,父類action的校正檔案會先被搜尋到。 假設UserAction繼承BaseAction:<action name="user" class="cn.itcast.action.UserAction" method="{1}"></action> 訪問上面action,系統先搜尋父類的校正檔案:BaseAction-validation.xml, BaseAction-user-validation.xml,接著搜尋子類的校正檔案: UserAction-validation.xml, UserAction-user-validation.xml。應用於上面action的校正規則為這四個檔案的總和。