带有PrimeFaces的JSF 2:Incell-Editing,RowEditEvent参数中没有更新的对象

时间:2011-08-04 13:44:04

标签: java jsf datatable primefaces

我在使用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的数据?

希望,你能帮助我。

来自德国的问候, 安迪

1 个答案:

答案 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;
}