私はこれを行うための優雅なJSFの方法を探しており、これを行うための一般的に受け入れられている慣行があるかどうか疑問に思っていました。
あるページから別のページに移動するとき、最後のページから送信されたh:messageコンポーネント(実際にはp:messageですが、同じものである必要があります)でFacesMessageを新しいページに表示したいと思います。
したがって、たとえば、ユーザーが[ドキュメントの作成]ボタンをクリックすると、成功すると新しいページに移動し、新しいページに成功メッセージが表示されます。すべてのデータベース変更操作がそのように動作するようにしたい。
FacesContextはナビゲーション上のすべてのメッセージをクリアするように見えるので、私の最も近い解決策は次のようになります。
- FacesMessageオブジェクトをセッションBeanに格納します。
- FacesContext.getCurrentInstance()。addMessage(..)を呼び出すメッセージBeanにメソッドcheckMessageを作成し、メッセージBeanからメッセージを削除します。
- 宛先ページのcheckMessageへのEL参照を配置します。
- 宛先ページにp:messageを配置し ます。
これは少し強制されているようです-これを行うためのより良い方法はありますか?