Страница ошибки - как напечатать трассировку стека в JSP - PullRequest
9 голосов
/ 14 декабря 2010

Я создал обработку исключений в своем приложении Spring с использованием Spring SimpleMappingExceptionResolver. Все отлично работает Теперь мне нужно как-то распечатать перехваченное исключение на странице JSP. Что-то вроде сообщения и трассировки стека. В моем JSP я нашел объект исключения в атрибуте «исключение». Все, что мне нужно сделать, это что-то вроде этого:

${exception.printStackTrace()}

Но я не знаю как. Есть ли способ сделать это?: -)

Спасибо за любые предложения,

Mateo

Ответы [ 2 ]

18 голосов
/ 14 декабря 2010

Самое простое решение, которое я могу придумать, - это циклическое прохождение по элементам трассировки стека, используя метод Throwable.getStackTrace():

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

Конечно, вам нужно добавить немного форматирования.

4 голосов
/ 06 сентября 2013

Пришлось делать это (только для dev / local environment) на страницах в прошлом и просто хотеть отобразить это в текстовой области или в предварительно отформатированном блоке.Выходные данные из skaffman выводят на печать каждый элемент трассировки strack, но не класс сообщения и исключения.

Если вы хотите, чтобы он был предварительно отформатирован в соответствии с printStackTrace (), рассмотрите возможность использования Spring EL и commons-lang3.

<spring:eval expression="T(org.apache.commons.lang3.exception.ExceptionUtils).getStackTrace(exception)"/>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...