2011-05-05 16 views
3

jspページで例外スタックトレースを出力しようとしています。ただし、暗黙的な例外オブジェクトは移入されていないようです。エラーページで例外をキャプチャできません

<div xmlns:c="http://java.sun.com/jsp/jstl/core" xmlns:fn="http://java.sun.com/jsp/jstl/functions" 
xmlns:spring="http://www.springframework.org/tags" 
xmlns:jsp="http://java.sun.com/JSP/Page" version="2.0"> 
<jsp:output omit-xml-declaration="yes"/> 
<jsp:directive.page isErrorPage="true" /> 
<spring:message var="title" code="error_uncaughtexception_title"/> 

    <h2>${fn:escapeXml(title)}</h2> 

    <p> 
     <spring:message code="error_uncaughtexception_problemdescription"/> 
    </p> 
    <c:if test="${not empty exception}"> 
     <p> 
      <h4> 
       <spring:message code="exception_details"/> 
      </h4> 
      <spring:message var="message" code="exception_message"/> 

       <c:out value="${exception.localizedMessage}"/> 

      <spring:message var="stacktrace" code="exception_stacktrace"/> 

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

     </p> 
</c:if> 

ページが正しくweb.xmlで構成されています

<error-page> 
     <exception-type>java.lang.Exception</exception-type> 
     <location>/uncaughtException</location> 
    </error-page> 

任意の推測では、私が欠けているものにとして?

答えて

5

exception暗黙オブジェクトはページ変数(つまりスクリプトレット)として利用できますが、ELリファレンスとしては利用できません。

あなたはタイプjavax.servlet.jsp.ErrorDataのオブジェクト(javadocを参照)である${pageContext.errorData}式を(docsを参照)、使用して例外状態にアクセスすることができます。

たとえば、J2EE tutorialを参照してください。

+1

おかげで面白いことに、私はSpring Rooプロジェクトからそのコードを取得しました。同じエラーが発生しているようです。 –

+0

私はRooが生成した例外ページを修正しようとしましたが、同じ問題でこの問題が見つかりました。 Rooは[SimpleMappingExceptionResolver](http://static.springsource.org/spring/docs/3.0.5.RELEASE/javadoc-api/org/springframework/web/servlet/handler/SimpleMappingExceptionResolver.html)を使って "これらのビューにマップされています。 –

関連する問題