Actionでエラーが発生した場合に共通のエラーページへ遷移。そこでスタックトレースを見たいです...
exampleにあるとおり、エラーページの定義は、jsfErrorPage.diconで定義可能です。
全てのエラーを同じページ(/error.html)にしてしまいたい場合、jsfErrorPage.diconはこんな内容になると思います。
Actionに遷移先を書かなくていいのでとっても楽ですね。
<?xml version="1.0" encoding="Shift_JIS"?> <!DOCTYPE components PUBLIC "-//SEASAR2.1//DTD S2Container//EN" "http://www.seasar.org/dtd/components21.dtd"> <components namespace="jsfErrorPage"> <component class="org.seasar.jsf.runtime.ErrorPageManagerImpl"> <initMethod name="addErrorPage"> <arg>@java.lang.Throwable@class</arg> <arg>"/error.html"</arg> </initMethod> </component> </components>
実際のエラーページでは、エラーメッセージを取得・表示することができるようです。
例としてはこんなHTML(/error.html)を用意します。
<html xmlns:m="http://www.seasar.org/maya"> <head> <meta http-equiv="Content-Type" content="text/html; charset=Windows-31j" /> <title>エラー</title> </head> <body> <h1>想定外のエラーが発生しました</h1> <h2>ごめんなさい(^^;</h2> <hr/> <span m:value="#{requestScope['seasar.jsf.error.message']}">Error Message</span> </body> </html>
ここで、Tomcatのコンソールに表示されるスタックトレースが画面で見れると開発中に原因が特定しやすくていいかなと思っています。アプリケーションサーバが手元で稼動していない場合などです。
- 発生したExceptionのrootCauseも含めてスタックトレースを表示する方法はあるのでしょうか??