2009-03-06 8 views
6

Sto creando un elenco di javax.faces.model.SelectItem (in un bean) per l'utilizzo con un h:selectManyCheckbox ma non riesco a capire come rendere un SelectItem selezionato.Come rendere javax.faces.model.SelectItem selezionato

Qualcuno sa come fare questo? ? Deve essere possibile, giusto ...

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

risposta

9

Supponiamo di avere questo codice JSF:

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

poi i valori selezionati (cioè le caselle controllato) sono memorizzati nei bean.selectedValues ​​ immobili .

Pertanto, nel codice Java, è necessario gestire i valori select mettendo l'ID corretto nella proprietà selezionata.

+0

grazie per la rapida risposta/risposta! – mafro

Problemi correlati