我有一个 JSPX (X!) 页面,我想在其中显示一个异常(消息和堆栈跟踪),所有这些都会导致异常。打印第一个异常没有问题,但我还没有找到一种方法来“交互”所有原因异常。
当然我可以做这样的事情:
<c:out value="${exception.message}" />
<c:out value="${exception.stacktrace}" />
<c:if test=${exception.cause not null}>
<c:set var="cause1" "${exception.cause}" />
<c:out value="${cause1.message}" />
<c:out value="${cause1.stacktrace}" />
<c:if test=${cause1.cause not null}>
<c:set var="cause2" "${cause1.cause}" />
<c:out value="${cause2.message}" />
<c:out value="${cause2.stacktrace}" />
<c:if test=${cause2.cause not null}>
<c:set var="cause3" "${cause2.cause}" />
<c:out value="${cause3.message}" />
<c:out value="${cause3.stacktrace}" />
</c:if>
</c:if>
</c:if>
但这很丑陋,如果有超过 3 个原因,就会失败。
所以我的问题是,如何while
在 jspx 中为这种场景构建一个循环?
(请不要讨论打印异常是错误的。)