2009-04-03 10 views
3

Was ist der beste Weg, einige der Stack-Trace-Informationen, vielleicht die Execession.message auf meinem benutzerdefinierten Fehler 500 Seite mit Tomcat, Frühling, JSF zu bekommen? Ich möchte nur die Ursache der Ausnahmebedingung angezeigt.einige Stack-Trace-Informationen in einen benutzerdefinierten Tomcat-Fehler 500 Seite

+0

Was möchten Sie genau mit dem Stack-Trace tun? Um den Stacktrace im Serverprotokoll zu protokollieren oder den Stacktrace dem Benutzer anzuzeigen (in einer XHTML/JSP-Seite)? – romaintaz

Antwort

5

Hier ist die JSP-Syntax, die ich mit Struts verwendet habe. Sie können diese oder ähnliche Funktionen wahrscheinlich mit JSf ausführen.

<!-- Get the exception object --> 
<c:set var="exception" value="${requestScope['javax.servlet.error.exception']}"/> 

<!-- Exception message(s) --> 
<p>${exception.message}</p> 
<p><c:if test="${not empty exception.cause.message}">${exception.cause.message}</c:if></p> 

<!-- Stack trace --> 
<jsp:scriptlet> 
exception.printStackTrace(new java.io.PrintWriter(out)); 
</jsp:scriptlet> 
0

Meine Lösung für dieses war-

Deklarieren Sie den Fehler jsp Seite eine Fehlerseite zu verwenden this-

<%@ page isErrorPage="true"%> 

Später in der gleichen jsp Seite, können Sie die „Ausnahme zugreifen "object, um den Stack-Trace zu drucken, wo immer Sie wollen.

<%exception.printStackTrace();%>