如何在Struts 2中通过XML配置配置@SkipValidation

时间:2013-01-18 10:46:04

标签: java validation struts2 annotations xml-configuration

在Struts 2中,

我正在尝试跳过基于XML配置的方法的验证。 根据我的应用程序,我不能使用注释。所以我不能使用@SkipValidation注释。有没有替代方案呢?

我有一个动作类,它有五个方法createupdatedeletesearchview。我只想验证两种方法createupdate

2 个答案:

答案 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隐式引用。