Frage

Ich bin die Erstellung einer Liste von javax.faces.model.SelectItem (in einer Bohne) für die Verwendung mit einem h:selectManyCheckbox aber ich kann nicht herausfinden, wie man eine SelectItem ausgewählt.

Wie mache ich das?Muss möglich sein, oder?...

    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;
}
War es hilfreich?

Lösung

Angenommen, wir haben diese JSF-code:

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

dann werden die ausgewählten Werte (d.h.das aktiviert-Kontrollkästchen) gespeichert werden in die bean.selectedValues Eigenschaft.

Also, in Ihrem Java-code, den Sie durchführen müssen, die selectValues, indem Sie die richtige ID in der selectedValues Eigenschaft.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top