/ / Pobierz elementy z listy wyboru Primefaces - primefaces

Pobierz elementy z listy wyboru PrimFaces - Primefaces

Przechowuję z primefaces listę elementów z obu list do mojej bazy danych, ale to działa.

Oto mój kod:

private DualListModel<Objekt> verfuegbar;
private List<Objekt> white;
private List<Objekt> black;
[...]
public void speichern() {
List<Objekt> listeWhite = white;
List<Objekt> listeBlack = black;

//This also not working
// List<Objekt> listeWhite = verfuegbar.getSource();
// List<Objekt> listeBlack = verfuegbar.getTarget();

for (Objekt oW : listeWhite) {
oW.setBw(1);
objektDAO.aendern(oW);

}

for (Objekt oB : listeWhite) {
oB.setBw(0);
objektDAO.aendern(oB);

}
white = objektDAO.alleObjekteWhite();
black = objektDAO.alleObjekteBlack();

verfuegbar = new DualListModel<Objekt>(white, black);

FacesMessage msg = new FacesMessage(FacesMessage.SEVERITY_INFO, "Gespeichert", "Alle Daten wurden gesichert");
FacesContext.getCurrentInstance().addMessage(null, msg);
}

@PostConstruct
private void init() {

// Liste füllen
white = objektDAO.alleObjekteWhite();
black = objektDAO.alleObjekteBlack();

verfuegbar = new DualListModel<Objekt>(white, black);

if (white.size() > 0 || black.size() > 0) {
inhaltInListe = true;
}
}
[...]
//getter and setter

Metoda „alleObjekteWhite ()” i „alleObjekteBlack ()” w init () pobiera elementy z mojej bazy danych.

Więc mój problem polega na tym, że listeWhite i listeBlack są puste, więc nic nie zmienia się w metodzie speichern.

Odpowiedzi:

0 dla odpowiedzi № 1

Nie, mam rozwiązanie. Błąd polegał na tym, że nie ustawiłem zakresu. Domyślnym Scope był RequestScope, który był fałszywy. Ustawiłem go na SessionScope i działa! Dzięki