詳細アイコン 動的リストへのバインド

af:selectOneListboxコンポーネント(および他の同様の選択入力コンポーネント)には、リストのアイテムを表すf:selectItemsコンポーネントを1つ格納できます。実行時に初期アイテム・リストをaf:selectOneListboxコンポーネントに移入するには、javax.faces.model.SelectItemインスタンスの配列を戻すマネージドBeanのgetterメソッドに、f:selectItemsコンポーネントを(そのvalue属性を介して)値バインドします。

SelectItemインスタンスのListを戻すマネージドBeanのプロパティおよびgetterメソッドは、前のカードですでに作成しました。

private List<SelectItem> _choices;

public List<SelectItem> getChoices() {
    if (_choices == null) {
        _choices = new ArrayList<SelectItem>();
        _choices.add(new SelectItem("Cocoa", "Cocoa"));
        _choices.add(new SelectItem("Tea", "Tea"));
        _choices.add(new SelectItem("Wine", "Wine"));
    }
    return _choices;
}  

「リストボックスを1つ選択の挿入」ウィザードで、af:selectOneListboxコンポーネントをリストにバインドするように選択すると、式ビルダーが表示されます。式ビルダーでは、f:selectItemsコンポーネントを値バインドするマネージドBeanのchoicesプロパティを選択します。

式ビルダー