【问题标题】:How to configure @SkipValidation by XML configuration in Struts 2如何在 Struts 2 中通过 XML 配置来配置 @SkipValidation
【发布时间】:2013-01-18 10:46:04
【问题描述】:
在 Struts 2 中,
我正在尝试跳过基于 XML 配置的方法验证。
根据我的应用程序,我不能使用注释。所以我不能使用@SkipValidation 注释。有什么替代方法吗?
我有一个动作类,它有五个方法create、update、delete、search 和view。我只想验证两种方法create 和update。
【问题讨论】:
标签:
java
validation
struts2
annotations
xml-configuration
【解决方案1】:
你应该在 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 隐式引用的验证拦截器。
【解决方案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>