少し前に「PrimeFacesのRequestContextはパワフルな予感」でPrimeFacesのRequestContextに触れましたが、その時の例はaddCallbackParamメソッドを利用してBackingBeanが持つ情報をViewのJavaScript側へコールバックで返すものでした。
RequestContextはAPIとして
- isAjaxRequest()
- addCallBackParam(String name, Object value)
- update(String clientId)
- execute(String script) ←今日使ったのはこれ
- scrollTo(String clientId)
を持っています。
今日初めてexecuteを利用したのでメモ。
executeはイメージとしてはBackingBeanからJavaScriptを実行できるものです(^^)
以下のように色々処理した結果、ダイアログ表示をBackingBeanから指示するとか。
public String hogeHoge(){
if(hoge){
RequestContext context = RequestContext.getCurrentInstance();
context.execute("hogeDlg.show();");
return null;
}
}
どこでも使えるだけに逆に使いどころが難しかったりもしますが(JSFのViewで定義されたダイアログがBackingBeanから呼ばれてる何て中々思わないので…可読性落ちたり)、簡単に使える分、うまく使えば便利だったりも。
なんかまだまだPrimeFacesの機能を使いこなしていない(^^;