Как перенаправить исключения NullPointerException в Struts? - PullRequest
0 голосов
/ 02 апреля 2009

Есть ли способ перенаправить все исключения NullPointerException на симпатичную страницу JSP, возможно, в Struts?

Заранее спасибо!

Ответы [ 2 ]

4 голосов
/ 02 апреля 2009

Существует конфигурация struts-config.xml, позволяющая определить хэнблер исключений:

  <global-exceptions>
    <exception handler="br.com.nostrum.radiomanager.exception.RadioManagerExceptionHandler" key="exception" type="java.lang.Exception" />
  </global-exceptions>

Здесь мы поймали java.lang.Exception и его потомков, но вы можете изменить его на NullPointerException. Обработчик должен расширить org.apache.struts.action.ExceptionHandler и переслать через mapping.findForward (как сказал @Kevin Crowell) или другой выбранный вами метод.

Надеюсь, это поможет.

1 голос
/ 02 апреля 2009

Существует объект EXCEPTION в области запроса, который будет содержать исключение. См:

http://struts.apache.org/1.x/struts-core/apidocs/constant-values.html

и следующий ключ:

org.apache.struts.action.EXCEPTION

Существуют различные способы распечатать это в JSP, например, с помощью тега компонента Struts:

<logic:equal name="org.apache.struts.action.EXCEPTION" value="java.lang.NullPointerException" scope="request">
  <bean:write property="org.apache.struts.action.EXCEPTION"/>
</logic:equal>

Однако это все Struts 1.x. Я уверен, что в Struts 2 есть похожий способ.

...