Пропуск стека перехватчиков по умолчанию только для определенного класса

Привет! Мы создали настроенный стек перехватчиков appInterceptorStack и назвали его <default-interceptor-ref name="appInterceptorStack"/>,

К appInterceptorStack -> не прикреплены перехватчики валидации и рабочего процесса.

Но теперь для определенного класса действий мне нужно использовать метод validate, поэтому мне нужен перехватчик проверки

Я создал новый стек Interceptor с перехватчиками валидации и рабочего процесса и передал его из класса действий. Но выполняется только стек перехватчиков по умолчанию. Измененный не вызывается, пожалуйста, найдите пример кода ниже.

<package name="default" extends="struts-default">
  <interceptor-stack name=”AppStack”>
    <interceptor-ref name="exception"/>
    <interceptor-ref name="alias"/>
    <interceptor-ref name="params"/>
    <interceptor-ref name="servletConfig"/>
    <interceptor-ref name="params"/>
  </interceptor-stack>

  <interceptor-stack name=”GuiStack”>
    <interceptor-ref name="exception"/>
    <interceptor-ref name="alias"/>
    <interceptor-ref name="params"/>
    <interceptor-ref name="servletConfig"/>
    <interceptor-ref name="params"/>
    <interceptor-ref name="validation" />
    <interceptor-ref name="workflow" />
  </interceptor-stack>

  <default-interceptor-ref name="AppStack"/>

  <action name="test" class="com.jranch.Test">
    <interceptor-ref name="GuiStack”/>
    <result name="input">login.jsp</result>
    <result name="success" type="redirect-action">/secure/home</result>
  </action>
</package> 

Может кто-нибудь, пожалуйста, помогите мне?

1 ответ

Конфигурация выглядит правильно. Можете ли вы включить ведение журнала отладки для com.opensymphony.

Затем вы можете увидеть, что перехватчики вызываются по очереди. Это самый быстрый способ увидеть, что называется.

Другие вопросы по тегам