Pregunta

Estoy creando una Lista de javax.faces.model.SelectItem (en un bean) para usar con un h: selectManyCheckbox pero no puedo entender cómo haga un SelectItem seleccionado.

¿Cómo hacer esto? Debe ser posible, ¿verdad? ...

    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;
}
¿Fue útil?

Solución

Supongamos que tenemos este código JSF:

<h:selectManyCheckbox value="#{bean.selectedValues}">
    <f:selectItems value="#{bean.playerList}"/>
</h:selectManyCheckbox>

los valores seleccionados (es decir, las casillas marcadas) se almacenan en la propiedad bean.selectedValues ??.

Por lo tanto, en su código Java, debe manejar los selectValues ??colocando la ID correcta en la propiedad selectedValues ??.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top