9 Stimmen

Fehlerseite - wie man den Stack-Trace in JSP ausgibt

Ich habe die Ausnahmebehandlung in meiner Spring-Anwendung mit Spring SimpleMappingExceptionResolver erstellt. Alles funktioniert gut. Jetzt muss ich irgendwie drucken die gefangene Ausnahme innerhalb der JSP-Seite. So etwas wie Nachricht und Stack Trace. In meiner JSP habe ich das Ausnahmeobjekt im Attribut "exception" gefunden. Alles, was ich tun muss, ist etwas wie das:

${exception.printStackTrace()}

Aber ich weiß nicht, wie. Gibt es eine Möglichkeit, wie man das macht:-)

Danke für jede Anregung,

Mateo

18voto

skaffman Punkte 389758

Die einfachste Lösung, die mir einfällt, besteht darin, eine Schleife über die Stack-Trace-Elemente zu ziehen und dabei die Vorteile der Throwable.getStackTrace() Methode:

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

Sie müssen natürlich noch einige Formatierungen vornehmen.

4voto

Matt Byrne Punkte 4636

Musste dies (nur in der Entwicklungs-/Lokalumgebung) in der Vergangenheit in Seiten tun und möchte es einfach in einem Textbereich oder einem vorformatierten Block anzeigen. Die Ausgabe von skaffman druckt jedes Strack-Trace-Element aus, aber nicht die Nachricht und Ausnahmeklasse.

Wenn Sie es vorformatiert wie ein printStackTrace() erwägen, mit Spring EL und commons-lang3.

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

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X