Brak wartości w SelectCheckboxMenu - JSF

0

Cześć
Nie miałem za bardzo do czynienia z JSF. Muszę zaimplementować SelectCheckboxMenu. Tablica jest to tablica obiektów, z których chce wyciągnąć pole nazwa. Próbuje to robić przy użyciu pętli, ale w ogóle nie dodaje. Męczę się z tym strasznie i nie wiem za bardzo gdzie leży problem. Może ktoś coś poradzić?

 <p:selectCheckboxMenu id="multiple" value="#{employeeBean.item.table}" label="Employee" multiple="true"
                              filter="true" filterMatchMode="startsWith" panelStyle="width:250px">
            <ui:repeat value="#{employeeBean.employeeTable}" var="item">
                <f:selectItems value="#{item.name}"/>
            </ui:repeat>
        </p:selectCheckboxMenu>
1

Twój kod powinien wyglądać jakoś tak:

<p:selectCheckboxMenu id="multiple" value="#{employeeBean.selectedEmployees}" label="Employee" 
                       multiple="true" filter="true" filterMatchMode="startsWith" 
                       panelStyle="width:250px">
  <f:selectItems value="#{employeeBean.employees}" var="item"
                itemLabel="#{item.name}" itemValue="#{item.value}" />
</p:selectCheckboxMenu>

Dane do wyświetlenia zostaną wzięte z employeeBean.employees, a zapisane w employeeBean.selectedEmployees.

Na stronie Primefaces znajduje się przykładowy kod:
https://www.primefaces.org/showcase/ui/input/manyCheckbox.xhtml

0

Dzięki za odpowiedź. Mam natomiast pewien inny problem - chciałbym zrobić z tego pogrupowanie wartości. Tylko nie wiem za bardzo jak to zrobić. Bo w założeniu ID + wartości mają być z danej tablicy. Bo rozumiem, że trzeba zrobić tablicę SelectItemGroup, do niej dodać te ID jako tytuł grup, a później znowu dodać wartości? Popełniłem taki kod, wiem że on jest zły, ale chyba powinien dodać przynajmniej jedną grupę - podgrupę:

public List<SelectItemGroup> getEmployeeComplete() {
        List<Employee> abc = EmployeeRepository.findAll();
        List<SelectItem> selectItemList = new ArrayList<>();
        List<SelectItemGroup> group = null;
        for (Employee value : abc) {
            group = new ArrayList<>();
            group.add(new SelectItemGroup(""+value.getID()));
            List<SelectItem> xyz = new ArrayList<>();
            xyz.add(new SelectItem(value.getName()));
            for (SelectItemGroup x: group) {
                x.setSelectItems(xyz.toArray(new SelectItem[xyz.size()]));
            }
         
        }
        return group;

    }

1 użytkowników online, w tym zalogowanych: 0, gości: 1