开发者

How to fill a selectManyListbox from a database

I would 开发者_如何转开发like to know how I can fill a h:selectManyListbox from a database, i.e. not with static options.


Use <f:selectItems> in combination with a property which returns List<SelectItem>, or when you're already on JSF 2.0, a List<SomeObject>.

<h:selectManyListbox value="#{bean.selectedItems}">
    <f:selectItems value="#{bean.selectItems}" />
</h:selectManyListbox>

You can load the items from the DB in bean's constructor or @PostConstruct method.

public class Bean {

    private List<String> selectedItems;
    private List<SelectItem> selectItems;

    public Bean() {
        selectItems = new ArrayList<SelectItem>();

        // Fill select items during Bean initialization/construction.
        // Below is just an example, you could replace this by getting a list
        // of some objects from DB and creating new items in a loop.
        selectItems.add(new SelectItem("value1", "label1"));
        selectItems.add(new SelectItem("value2", "label2"));
        selectItems.add(new SelectItem("value3", "label3"));
    }

    // Getters, etc
}
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜