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.

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