我试图将两个列表中的元素存储到我的数据库中,然后将这些元素存储到我的数据库中。
这是我的代码:
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
The Method&#34; alleObjekteWhite()&#34;和&#34; alleObjekteBlack()&#34;在init()中从我的数据库中获取元素。
所以现在我的问题是,listenWhite和listeBlack是空的,所以在speichern-Method中没有任何改变。
答案 0 :(得分:0)
不,我得到了解决方案。错误是,我没有设定范围。所以默认的Scope是RequestScope,这是假的。我把它设置为SessionScope,它的工作原理! 谢谢