在Struts 2中,
我正在尝试跳过基于XML配置的方法的验证。
根据我的应用程序,我不能使用注释。所以我不能使用@SkipValidation
注释。有没有替代方案呢?
我有一个动作类,它有五个方法create
,update
,delete
,search
和view
。我只想验证两种方法create
和update
。
答案 0 :(得分:2)
您必须为您的操作配置validation
拦截器,以排除您不想验证的方法名称。
<action name="..." class="...">
<interceptor-ref name="defaultStack">
<param name="validation.excludeMethods">input,back,cancel,browse,delete,search,view</param>
</interceptor-ref>
<result>...</result>
</action>
答案 1 :(得分:2)
您应该在struts.xml包中配置拦截器
<interceptors>
<interceptor-stack name="validateWorkflowStack">
<interceptor-ref name="basicStack"/>
<!-- ... whatever interceptors -->
<interceptor-ref name="validation">
<param name="excludeMethods">delete, search, view</param>
</interceptor-ref>
<interceptor-ref name="workflow"/>
</interceptor-stack>
</interceptors>
然后使用动作配置
<action name="create" class="your.package.CreateAction" method="create">
<result name="input">/path/to/form.jsp</result>
<interceptor-ref name="validateWorkflowStack"/>
</action>
将拦截器应用于每个动作,该动作具有在动作中明确引用的验证拦截器或通过包上的<default-interceptor-ref
隐式引用。