1

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

奇妙なことに、エラーが発生した行にエラー ページの出力を挿入することさえしません。たとえば、インクルードされた JSP の 600 行で例外を発生させた場合、最初の 300 ~ 400 行からの出力が表示され、次に (出力された HTML で) エラー ページが表示されます。

このような場合に表示されるインクルード ファイルの最初の 300 ~ 400 行の代わりに、インクルードされたページの出力がまったく表示されず、エラー ページの出力だけが表示されることを望みます。これは可能ですか、それとも含まれるファイルのバッファリングに問題がありますか?

ああ、私はすでに include タグに "flush='true'" を設定しようとしました。

4

2 に答える 2

2

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

于 2009-05-25T19:17:40.763 に答える
1

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

Websphere 7 の場合、例外が jsp:include タグを介してバブルアップできるようにする次のパラメーターが見つかりました: フィックスパック 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

他の Web コンテナーの場合、この問題はまだ経験していません。

于 2012-07-05T15:40:17.263 に答える