2009-03-06 10 views
6

Tworzę listę javax.faces.model.SelectItem (w fasoli) do użytku z h:selectManyCheckbox, ale nie mogę się dowiedzieć, jak wybrać SelectItem wybrany.Howto make javax.faces.model.SelectItem selected

Czy ktoś wie, jak to zrobić? ? Musi być możliwe, tuż ...

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

Odpowiedz

9

Załóżmy, że mamy ten kod JSF:

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

wówczas wybranych wartości (tzn sprawdzane zaznaczenie) są przechowywane w bean.selectedValues ​​ nieruchomości .

Dlatego w kodzie Java należy obsłużyć wartości select, umieszczając poprawny identyfikator w wybranej właściwości Values ​​.

+0

dzięki za szybką odpowiedź/odpowiedź! – mafro