@ViewScoped Mananged Beanにinitメソッドがあります。 post構造体では、dbからデータをロードします。私はカスタムExceptionHandlerWrapperを使用してすべての消耗品をキャッチし、エラーページに送信します。しかし、@PostConstuctが例外をスローすると、IllegalStateExceptionが返され、エラーページにリダイレクトされません。私は、以下のこの行は、私が元々持っていたものである @PostConstructでスローされた例外により、JSF 2.1でIllegalStateExceptionが発生する
アイブ氏は、私のExcpetionHandlerexternalContext.getRequestMap().put(ERROR_BEAN_ID, ERROR_TEXT);
externalContext.dispatch(ERROR_PAGE);
fc.responseComplete();
内にこれを試してみました.....多くの組み合わせを試してみました。
externalContext.getFlash().put(ERROR_BEAN_ID, ERROR_TEXT);
nav.handleNavigation(fc, null, ERROR_PAGE);
fc.renderResponse();
これらはすべてIllegalStateExceptionsの原因となります。同じ結果でリダイレクトとも呼ばれました。
@PostConstructからスローされたエラーをグローバルに捕捉できますか?
と
ありがとうございました。そして、はい "Response already committed"は私がリダイレクト/ディスパッチを使用したかどうかに応じてエラーになりました。 preRenderViewの使用を取り除いたのは、dbとf:validateBeanなどのメタデータを持つページを動的に構成し、f:タグをpreRenderViewが呼び出される前に初期化したからです。したがって、ページの検証が正常に機能しないようにします。だから私はビューとグローバルな例外処理のIMをバッファの解決策に立ち往生を構成するプリロードされたデータが必要な場合? – user1147953