Не удалось записать исключение на странице ошибки - PullRequest
3 голосов
/ 05 мая 2011

Я пытаюсь распечатать трассировку стека исключений на странице JSP. Однако объект неявного исключения, похоже, не заполнен.

<div xmlns:c="http://java.sun.com/jsp/jstl/core" xmlns:fn="http://java.sun.com/jsp/jstl/functions"
 xmlns:spring="http://www.springframework.org/tags"
 xmlns:jsp="http://java.sun.com/JSP/Page" version="2.0">
<jsp:output omit-xml-declaration="yes"/>
<jsp:directive.page isErrorPage="true" />
<spring:message var="title" code="error_uncaughtexception_title"/>

    <h2>${fn:escapeXml(title)}</h2>

    <p>
        <spring:message code="error_uncaughtexception_problemdescription"/>
    </p>
    <c:if test="${not empty exception}">
        <p>
            <h4>
                <spring:message code="exception_details"/>
            </h4>
            <spring:message var="message" code="exception_message"/>

                <c:out value="${exception.localizedMessage}"/>

            <spring:message var="stacktrace" code="exception_stacktrace"/>

                <c:forEach items="${exception.stackTrace}" var="trace">
                    <c:out value="${trace}"/>
                    <br/>
                </c:forEach>

        </p>
</c:if>

Страница правильно настроена в web.xml:

 <error-page>
        <exception-type>java.lang.Exception</exception-type>
        <location>/uncaughtException</location>
    </error-page>

Есть предположения о том, что мне не хватает?

1 Ответ

5 голосов
/ 05 мая 2011

Неявный объект exception доступен как переменная страницы (т. Е. Для скриптлетов), но недоступен в качестве ссылки на EL.

Вы можете получить доступ к состоянию исключения, используя выражение ${pageContext.errorData} (см. документы ), которое является объектом типа javax.servlet.jsp.ErrorData (см. javadoc ).

См. Примеры J2EE .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...