Как настроить @SkipValidation с помощью конфигурации XML в Struts 2

В Struts 2,

Я пытаюсь пропустить проверку на основе метода в конфигурации XML. В соответствии с моим приложением я не могу использовать аннотацию. Поэтому я не могу использовать аннотацию @SkipValidation. Есть ли альтернатива этому?

У меня есть один класс действий, который имеет пять методов create, update, delete, search и view. Я хочу проверить только два метода create и update.


person Punit Patel    schedule 18.01.2013    source источник


Ответы (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 в пакете.

person Roman C    schedule 18.01.2013
comment
Почему вы используете basicStack? - person Aleksandr M; 19.01.2013
comment
Он не содержит перехватчик проверки. - person Roman C; 19.01.2013
comment
Он не содержит много перехватчиков. - person Aleksandr M; 19.01.2013
comment
Если много перехватчиков не нужно, то лучше их не использовать. - person Roman C; 19.01.2013

Вы должны настроить перехватчик 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>
person Aleksandr M    schedule 18.01.2013