アクションフェーズで例外がスローされた後にレンダーフェーズをヒットしようとしたときに、リクエストから例外をクリアすることができるかどうかを知りたいと思います。SpringポータルMVCクリアアクション例外レンダリングフェーズに行く
あなたはDispatchPortlet.class(春提供されるクラス)のdoRenderService方法から、このコードスニペットを見れば:
PortletSession session = request.getPortletSession(false);
if (session != null) {
if (request.getParameter(ACTION_EXCEPTION_RENDER_PARAMETER) != null) {
Exception ex = (Exception)
session.getAttribute(ACTION_EXCEPTION_SESSION_ATTRIBUTE);
if (ex != null) {
logger.debug("Render phase found exception caught during action phase - rethrowing it");
throw ex;
}
}
else {
session.removeAttribute(ACTION_EXCEPTION_SESSION_ATTRIBUTE);
}
}
あなたは例外がパラメータマップに入れ、「はdoesnのされることをここで見ることができますそれを取り除く方法はないようです。
私がしたいのは、もともとException(私が正常に行っていること)をキャッチし、「エラーページ」(私が正常に行っていること)を表示し、そのエラーページにボタンを表示します。再度 "Render Phase"ページを表示して、自分の行動を試すことができるようにしてください。
私はフィルター、インターセプター、新しいコントローラーを作成してパラメーターをクリアしようとしましたが、ParameterMapがUnmodifiableCollectionであるようです。
どのような考えですか?