ViewExpiredException およびその他のエラーを管理するための独自の ExceptionHandlerWrapper があります。
エラーをキャッチし、エラー メッセージを追加して、エラー メッセージが表示されるインデックス ページに (ナビゲーションではなくリダイレクトで) リダイレクトします。
fc.getExternalContext().getFlash().setKeepMessages(true);
Messages.addFlashError(null, "my message");
Flash flash = FacesContext.getCurrentInstance().getExternalContext().getFlash();
flash.put("foo", "hello");
fc.getExternalContext().redirect("index.xhtml");
ただし、フラッシュ メッセージは保存されません (ただし、フラッシュ スコープには foo が存在します)。
これは mojarra では機能していましたが、myfaces 2.2.4 に移行したところ、機能しなくなりました。何か案が?(omnifaces 1.8.1 も使用) ありがとうございます。