strust2.5 отображение исключений не работает - PullRequest
0 голосов
/ 28 июня 2018

Я использовал Struts 2.5.16, следуйте коду: Struts.xml Content:

<package name="default" extends="struts-default">
    <interceptors>
        <interceptor  name="authorizeInterceptor" class="web.comm.Interceptor.authorizeInterceptor"></interceptor>
    </interceptors>
    <action name="home">
        <result type="dispatcher">/view/index.jsp</result>
    </action>
    <action name="exp" class="web.comm.userAndAuthorize.commUserOp" method="jsonChangePass">
        <interceptor-ref name="authorizeInterceptor"/> 
        <exception-mapping result="Exception" exception="java.lang.Exception"/>
        <result name="Exception"  type="chain">/view/UserAndAuthorize/error.jsp</result>
        <allowed-methods>jsonChkLogin,jsonChangePass,createUser</allowed-methods>
    </action>

URL-адрес http://localhost/exp следующий код является методом jsonChangePass ()

public String jsonChangePass()throws Exception{

    int b=0,a=1;
    int c=a/b;

следить за содержанием, которое было показано:

Отчет о проблеме Struts Struts обнаружил необработанное исключение:

Сообщения: / от нуля ......


см. В Интернете показ содержимого, действие уже работает. Почему отображение исключений не сработало?

1 Ответ

0 голосов
/ 29 июня 2018

Поскольку вы не используете перехватчик картирования exception, он не будет работать.

Как только вы определите <interceptors> в пакете, вы должны определить все перехватчики: это не аддитивный элемент, это объявление перехватчиков, используемых в этом пакете.

IIRC вы можете использовать <interceptor-ref> для получения defaultStack (или того, что вы на самом деле намеревались использовать) и добавить свой authorizeInterceptor.

...