我在使用Primefaces 2的Tomcat 6.0上使用Mojarra 2.0.3。
我有一个dataTable,并希望将其设置为incell-editable。一切正常,但我的rowEditListener参数“RowEditEvent event”没有返回任何新对象。
public void onEditRow(RowEditEvent event) {
Nutzer nutzer = (Nutzer) event.getObject(); // Get object from event
System.out.println(nutzer.toString()); // This prints the OLD data,
// not the data I wrote into the form
nutzerManager.editNutzer(nutzer); // Write into the database
}
托管bean在会话范围内。为什么监听器只接收旧数据,而不是我写入incell-formular的数据?
希望,你能帮助我。来自德国的问候, 安迪
答案 0 :(得分:2)
我发现了错误。
tabledata的getter每次都从数据库中加载数据。
private List<Nutzer> nutzerList;
public List<Nutzer> getNutzerList() {
nutzerList = nutzerManager.getNutzer();
return this.nutzerList;
}
此版本正常运作:
private List nutzerList;
public List<Nutzer> getNutzerList() {
if(nutzerList == null)
nutzerList = nutzerManager.getNutzer();
return this.nutzerList;
}