2009-03-06 20 views
6

Estoy creando una lista de javax.faces.model.SelectItem (en un bean) para usar con un h:selectManyCheckbox pero no puedo encontrar la manera de hacer un SelectItem seleccionado.Howto make javax.faces.model.SelectItem seleccionado

¿Alguien sabe cómo hacer esto? ? Debe ser posible, a la derecha ...

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; 
} 

Respuesta

9

Asumamos que tenemos el código JSF:

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

entonces los valores seleccionados (es decir, las casillas controladas) se almacenan en los bean.selectedValues ​​ propiedad .

Por lo tanto, en su código Java, debe manejar los valores de selección ingresando la ID correcta en la propiedad selectedValues ​​.

+0

gracias por la rápida respuesta/respuesta! – mafro