对struts2中action的多个方法进行校验

新手刚学struts2,对struts2中action的多个方法进行校验问题有点头疼,现在算是解决了,下面分享一下:

在action中可能有多个处理业务的方法,我们可能要对多个不用的方法进行不同的验证,下面是通过校验框架(有效的XML文件)对action中多个方法进行验证:

(1) 通过 action-action_方法名-validation.xml 验证

解释:第一个action是你写的action类名,第二个action是你在配置文件中配置的action的名字,方法名是进行验证的方法名称。它的用法和全局的校验一样,只不过它只对你指定的那个方法进行校验

(2)通过 重新定义paramsPrepareParamsStack中的validation拦截器,把不需要拦截的方法名用逗号隔开依次写到param标签中。如下:

 

<interceptors>
  				<interceptor-stack name="myValidateStack">
  				<interceptor-ref name="exception"/>
                <interceptor-ref name="alias"/>      
                <interceptor-ref name="servletConfig"/>
                <interceptor-ref name="i18n"/>
                <interceptor-ref name="prepare"/>
                <interceptor-ref name="chain"/>
                <interceptor-ref name="debugging"/>
                <interceptor-ref name="scopedModelDriven"/>
                <interceptor-ref name="modelDriven"/>
                <interceptor-ref name="fileUpload"/>
                <interceptor-ref name="checkbox"/>
                <interceptor-ref name="multiselect"/>
                <interceptor-ref name="staticParams"/>
                <interceptor-ref name="actionMappingParams"/>
                <interceptor-ref name="params">
                  <param name="excludeParams">dojo\..*,^struts\..*</param>
                </interceptor-ref>
                <interceptor-ref name="conversionError"/>
                <interceptor-ref name="validation">
                
                <!-- 重新定义validateion拦截器,通过全局的XML配置文件对doInsert,doUpdate方法进行校验 -->
                
                    <param name="excludeMethods">insert,update,doDelete,findAll</param>
                </interceptor-ref>
                <interceptor-ref name="workflow">
                    <param name="excludeMethods">insert,update,doDelete,findAll</param>
                </interceptor-ref>
  				</interceptor-stack>
  			</interceptors>
  			
  			<default-interceptor-ref name="myValidateStack"></default-interceptor-ref>


然后自定义默认拦截器栈,下面的工作就像全局校验一样了。这样部署一下就可以只对某些方法进行验证了。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值