【问题标题】:How to configure @SkipValidation by XML configuration in Struts 2如何在 Struts 2 中通过 XML 配置来配置 @SkipValidation
【发布时间】:2013-01-18 10:46:04
【问题描述】:

在 Struts 2 中,

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

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

【问题讨论】:

    标签: 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>
    

    将拦截器应用于每个操作,该操作具有在操作上显式引用或通过包上的&lt;default-interceptor-ref 隐式引用的验证拦截器。

    【讨论】:

    • 你为什么使用basicStack
    • 它不包含验证拦截器。
    • 它不包含很多拦截器。
    • 如果不需要很多拦截器,最好不要使用它们。
    【解决方案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>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-09-12
      • 1970-01-01
      • 1970-01-01
      • 2010-12-11
      • 2017-07-25
      • 1970-01-01
      • 1970-01-01
      • 2018-08-12
      相关资源
      最近更新 更多