次のようなJavaServerFacesの標準エラーページを置き換えることは可能ですか?
500 Internal Server Error
?
これには、スタックトレースなどの情報が含まれます。ただし、ユーザーの場合、ページが本番モードのときに、リクエストが成功しなかったことを示すわかりやすいページを表示したいと思います。
次のようなJavaServerFacesの標準エラーページを置き換えることは可能ですか?
500 Internal Server Error
?
これには、スタックトレースなどの情報が含まれます。ただし、ユーザーの場合、ページが本番モードのときに、リクエストが成功しなかったことを示すわかりやすいページを表示したいと思います。
開発スタックトレースは、おそらくJSF実装からのものです。それを無効にするためのコードは、実装に固有のものになります。サーブレットのMyFacesの場合、 web.xml
:でこのinitパラメータを使用します。
<context-param>
<param-name>org.apache.myfaces.ERROR_HANDLING</param-name>
<param-value>false</param-value>
</context-param>
Sunの実装(Mojarra)を使用している場合は、いくつかのcom.sun.faces...
キー付きパラメーターがある可能性があります。
Facelets initパラメーター の値を確認することもできますfacelets.DEVELOPMENT
(に設定されていないことを確認してくださいtrue
)。
エラーページを指定するには、通常のコンテナメカニズムを使用できます。サーブレットの場合、これは、例外タイプまたはエラーコードのいずれかにキー設定されたエラーページをで指定することによって行われます。 web.xml
すべてのスローアブルをキャッチするには...
<error-page>
<exception-type>java.lang.Throwable</exception-type>
<location>/errorPage.faces</location>
</error-page>
JSF実装では、エラー処理に関するベンダー固有の追加サポートが見つかる場合があります。それらのドキュメントを確認する必要があります。