How to group selectItems in selectOneMenu

别说谁变了你拦得住时间么 提交于 2019-11-29 13:57:35
BalusC

The source code of the showcase's #{formBean} is available here. Here's an extract of relevance:

private List<SelectItem> cars;

public FormBean() {
    SelectItemGroup g1 = new SelectItemGroup("German Cars");
    g1.setSelectItems(new SelectItem[] {new SelectItem("BMW", "BMW"), new SelectItem("Mercedes", "Mercedes"), new SelectItem("Volkswagen", "Volkswagen")});

    SelectItemGroup g2 = new SelectItemGroup("American Cars");
    g2.setSelectItems(new SelectItem[] {new SelectItem("Chrysler", "Chrysler"), new SelectItem("GM", "GM"), new SelectItem("Ford", "Ford")});

    cars = new ArrayList<SelectItem>();
    cars.add(g1);
    cars.add(g2);
}

Thus, your missing key is SelectItemGroup.

See also:

In this example getCars() returns a list of javax.faces.model.SelectItem objects. There is one subclass of this class, named SelectItemGroup which represent a grup in selectOneMenu. Value field of this object is ignored and just label is used. So in your list you can mix SelectItem and SelectItemGroup objects to organize your list in groups. Note, that SelectItem objects which are part of group are present as array in SelectItemGroup object. You can set that array through constructor or setter (setSelectItems()).

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!