Пропуск стека перехватчиков по умолчанию только для определенного класса
Привет! Мы создали настроенный стек перехватчиков 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.
Затем вы можете увидеть, что перехватчики вызываются по очереди. Это самый быстрый способ увидеть, что называется.