Cómo hacer que javax.faces.model.SelectItem seleccionado
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;
}
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