Struts2 конфигурация стека перехватчиков по умолчанию - PullRequest
1 голос
/ 24 января 2011

Я хочу настроить параметр для перехватчика исключений для регистрации исключений. Поэтому я создал пакет в 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 Ответ

1 голос
/ 12 августа 2011

Это должно работать нормально при условии, что все новые действия, которые вы добавляете, находятся в одном пакете, то есть в пакете "default", который расширяет Struts-default.

AFAIK может быть только 1 возможность, из-за которой он может пойти не так, и это будет: Вы записали свои действия в другой пакет (который снова расширяет Struts-default, а не «default» -пользовательский пакет), и поэтому он будет использовать defaultStack в качестве стека перехватчиков по умолчанию, который является стеком по умолчанию для struts-default .

Итак, если вы хотите, чтобы стек по умолчанию был переопределен myStack, убедитесь, что ваше действие находится внутри вашего пользовательского пакета - «по умолчанию» или внутри пакета, который расширяет ваш пользовательский пакет «по умолчанию», а не распорки. пакет по умолчанию.

...