Struts2 конфигурация стека перехватчиков по умолчанию
Я хочу настроить параметр для перехватчика исключений для регистрации исключений. Поэтому я создал пакет в struts.xml и скопировал стек по умолчанию из struts-default.xml. Однако он не регистрирует исключения и, похоже, все еще использует defaultStack.
Вот мой Struts.xml:
<struts>
<package name="default" extends="struts-default">
<interceptors>
<interceptor-stack name="myStack">
<interceptor-ref name="exception">
<param name="logEnabled"> true </param>
<param name="logCategory"> struts </param>
<param name="logLevel"> ERROR </param>
</interceptor-ref>
...
</interceptor-stack>
</interceptors>
<default-interceptor-ref name="myStack" />
</package>
</struts>
1 ответ
Это должно работать нормально, если все новые действия, которые вы добавляете, находятся в одном пакете, то есть в пакете "default", который расширяет Struts-default.
AFAIK может быть только 1 возможность, из-за которой это может пойти не так, и это будет: вы записали свои действия в другой пакет (который снова расширяет Struts-default, а не "default-пользовательский пакет"), и, таким образом, он будет использовать defaultStack в качестве стека перехватчиков по умолчанию, который является стеком по умолчанию для struts-default.
Итак, если вы хотите, чтобы стек по умолчанию был переопределен myStack, убедитесь, что ваше действие находится внутри вашего пользовательского пакета - "по умолчанию" или внутри пакета, который расширяет ваш пользовательский пакет "по умолчанию", а не пакет struts-default.