2009-05-13 3 views
1

私は<jsp:include>経由で別のJSPを含むJSPを持っています。私は(私が思うと)標準エラーページの設定もしています。問題は、インクルードされたファイル内で例外が発生した場合、インクルードするJSPに「バブルアップ」しないということです。代わりに、含まれているJSPの処理中にエラーページの途中に挿入されます。jsp:includeインクルードされた例外の処理を制御するには?

不思議にも、エラーが発生した行にエラーページの出力を挿入することさえできません。たとえば、インクルードされたJSPの600行目で例外が発生すると、最初の300〜400行の出力が表示され、エラーページ(出力されたHTML内)が表示されます。代わりに、このような場合に表示されて含まれるファイルの最初の300〜400行の

は、私はむしろ見たいと、含まページの出力のどれもがまったく表示されないで、そしてだけエラーページを出力します。これは可能ですか、それを防ぐインクルードされたファイルのバッファリングに問題がありますか?

ああ、私は既にincludeタグに "flush = 'true'"を設定しようとしましたが、include/includeの両方でtry/catchですべてをラップしようとしました...しかし、 。

答えて

2

インクルードの作業に大きなバッファ(<%@ page buffer="1024kb" %>)とflush="false"を使用していますか?

+0

それはうまくいった。 Andrewに感謝します! – machineghost

1

オリジナルの「バブルアップ」問題は、Webコンテナによって異なる場合があります。 Websphere 7を使用しており、他のWebsphereバージョンとは異なる方法で動作します。インクルードされたページの例外は、includer JSPには戻されません。インクルードされたページに対してエラーページが定義されていない場合、例外のメッセージが出力ストリームに出力されます。

は、WebSphere 7のケースでは、最大のjspを通してバブルの例外を許可するfollowngパラメータが見つかりました:タグが含まれています。ここではフィックスパック15 からcom.ibm.ws.webcontainer.dispatcherRethrowSErrorは、追加情報がある:http://pic.dhe.ibm.com/infocenter/wasinfo/v7r0/index.jsp?topic=%2Fcom.ibm.websphere.express.doc%2Finfo%2Fexp%2Fae%2Frweb_custom_props.html

他のウェブコンテナの場合、私はこの問題をまだ経験していません。

関連する問題