基于XML配置方式对指定action方法实现输入校验2

   当校验文件的取名为ActionClassName-validation.xml时,会对 action中的所有处理方法实施输入验证。如果你只需要对action中的某个action方法实施校验那么,校验文件的取名应为:ActionClassName-ActionName-validation.xml其中ActionNamestruts.xmlaction的名称。例如:在实际应用中,常有以下配置:

<action name=" user_* " class="cn.itcast.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.xml
2 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 的校验 规则为这四个文件的总和。

你可能感兴趣的:(action)