いろいろと社内アプリを作っていたせいでかなりプルダウンは慣れたとおもったのですが、未知の部分がさらにあったのでまとめます。
Contents
初期値に値がないとき
ようはプルダウンで初期値を「~を選んでください」みたいな値を入れないパターンです。
個別に<h:selectItem >を追加するだけです。
コード
1 2 3 4 |
<h:selectOneMenu value="#{現在のプルダウンの値}" > <f:selectItem itemLabel="選択してください" itemValue=""/> <f:selectItems value="#{プラウダウンのリスト}" /> </h:selectOneMenu> |
プルダウン変更時に遷移
ajaxみたいに画面の一部を変えるのではなくて、画面自体を遷移させるような処理を書きたい&CDIの特定のメソッドをよびだしたいときは下記のように書きます。
コード
1 2 3 |
<h:selectOneMenu value="#{loginBean.ownerId}" onchange="submit()" valueChangeListener="#{bean.}" > //プルダウンのリストなど </h:selectOneMenu> |
この場合イベントリスナーに飛びます。
詳しくは下のリンクを参考にしてみてください。
参考リンク
http://www.mkyong.com/jsf2/jsf-2-valuechangelistener-example/
追記 上記のコードは不完全でした。
今は使うケースがあまりないですが、下記に詳しい使用法が書いてあります。
JSF2.0 タグ一覧 (f:valueChangeListener) 応用編
http://www.tutorialspoint.com/jsf/jsf_valuechangelistener_tag.htm