如何选择javax.faces.model.SelectItem

maf*_*fro 6 jsf

我正在创建一个javax.faces.model.SelectItem(在一个bean中)的List 用于a h:selectManyCheckbox但我无法弄清楚如何SelectItem选择.

这该怎么做?一定是可能的,对吧?......

    public List<SelectItem> getPlayerList(String teamName) {
    List<SelectItem> list = new ArrayList<SelectItem>();

    TeamPage team = (TeamPage) pm.findByName(teamName);

    List<PlayerPage> players = pm.findAllPlayerPages();

    for (PlayerPage player : players) {
        boolean isMember = false;
        if (team.getPlayerPages().contains(player)) {
            isMember = true;
        }
        SelectItem item;
        if (isMember) {
            // TODO: Make SelectItem selected???
            item = null;
        } else {
            item = new SelectItem(player.getId(), createListItemLabel(player), "", false, false);
        }
        list.add(item);         
    }
    return list;
}
Run Code Online (Sandbox Code Playgroud)

Rom*_*las 9

假设我们有这个JSF代码:

<h:selectManyCheckbox value="#{bean.selectedValues}">
    <f:selectItems value="#{bean.playerList}"/>
</h:selectManyCheckbox>
Run Code Online (Sandbox Code Playgroud)

然后将选定的值(即选中的复选框)存储在bean.selectedValues属性中.

因此,在Java代码中,必须通过在selectedValues属性中放入正确的ID来处理selectValues .