错误页面 - 如何在JSP中打印堆栈跟踪

时间:2010-12-14 17:55:38

标签: spring exception

我使用spring SimpleMappingExceptionResolver在Spring应用程序中创建了异常处理。一切正常。现在我需要以某种方式在jsp页面中打印捕获的异常。像消息和堆栈跟踪的东西。在我的jsp中,我在“exception”属性中找到了异常对象。我需要做的就是这样:

${exception.printStackTrace()}

但我不知道怎么做。有什么方法可以做到这一点吗?: - )

感谢您的任何建议,

圣马特奥

2 个答案:

答案 0 :(得分:18)

我能想到的最简单的解决方案是利用Throwable.getStackTrace()方法循环堆栈跟踪元素:

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

当然,您需要添加一些格式。

答案 1 :(得分:4)

过去只能在页面中执行此操作(仅限dev / local环境),只想在textarea或预格式化的块中显示它。 skaffman的输出打印出每个strack trace元素,但不打印消息和异常类。

如果你想按照printStackTrace()预先格式化,可以考虑使用Spring EL和commons-lang3。

<spring:eval expression="T(org.apache.commons.lang3.exception.ExceptionUtils).getStackTrace(exception)"/>