リダイレクト後のメッセージ
- JSFからManagedBeanのメソッドを呼び出す、
- 何らかの処理
- メッセージをFacesMessagesに入れる
- リダイレクト
1 2 3 4 5 |
//ここでメッセージをいれる FacesContext.getCurrentInstance().addMessage(clientId, new FacesMessage(message)); //個々でメッセージをキープする FacesContext.getCurrentInstance().getExternalContext().getFlash().setKeepMessages(true); return リダイレクトページし別のページへ |
削除ボタン実装時に起こりました。どういう仕様かというと・・
- 画面は商品データの一覧でチェックボックスあり、チェックボックスにチェックを入れて削除ボタンを押すと該当レコードが削除される
- ただし、ボタンがついていない場合、削除はできない。つまり画面読み込み時には削除ボタンが押せないようにする
この場合、htmlで<input type=”button”などにdisabled =”disabled”のようなプロパティを設定し、ボタンチェックをトリガーにしてdisabledのプロパティをJavaScriptで変更するということをやろうとしました。
JSFでもh:commandButtonにてdisabled=trueを設置すると確かに読み込み時にはボタンが押せず、チェックボックスに値を入れるとボタンが押せるようにはなるのですが、該当するメソッドに飛びません。(action属性が無効になっている)
どうやらJSFとManagedBeanの連携機能自体にも影響があるようです。
対処法としてはJSFにはdisabled=trueを書かずに、JavaScriptで画面読み込み時にdisabled =trueにしてあげれば大丈夫です。
直接の対処はありませんでしたがcommandButtonの記述があったリンクです。
参考リンク