Comment faire pour que javax.faces.model.SelectItem soit sélectionné
Question
Je crée une liste de javax.faces.model.SelectItem
(dans un bean) à utiliser avec un h: selectManyCheckbox
, mais je ne vois pas comment faire un SelectItem
sélectionné.
Comment faire cela? Doit être possible, non? ...
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;
}
La solution
Supposons que nous ayons ce code JSF:
<h:selectManyCheckbox value="#{bean.selectedValues}">
<f:selectItems value="#{bean.playerList}"/>
</h:selectManyCheckbox>
alors les valeurs sélectionnées (c'est-à-dire les cases à cocher cochées) sont stockées dans la propriété bean.selectedValues ??.
Ainsi, dans votre code Java, vous devez gérer les selectValues ??en mettant l'ID correct dans la propriété selectedValues ??.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow