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

发布于 2024-11-27 19:22:46 字数 609 浏览 0 评论 0原文

我在 Tomcat 6.0 上使用 Mojarra 2.0.3 和 Primefaces 2。

我有一个数据表,并希望使其可在单元格中编辑。一切正常,但带有参数“RowEditEvent event”的 rowEditListener 没有返回新对象。

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的数据?

希望,你能帮助我。

来自德国的问候, 安迪

I'm using Mojarra 2.0.3 on Tomcat 6.0 with Primefaces 2.

I got a dataTable and want to make it incell-editable. Everything works fine, but my rowEditListener with the parameter "RowEditEvent event" returns no new object.

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
}

The managed bean is in session scope. Why does the listener only receive the old data, not the data I wrote into the incell-formular?

Hope, you can help me.

Greets from germany,
Andy

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

回忆凄美了谁 2024-12-04 19:22:46

我发现了错误。

表数据的 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;
}

I found the mistake.

The getter for the tabledata loaded the data everytime out of the database.

private List<Nutzer> nutzerList;

public List<Nutzer> getNutzerList() {
    nutzerList = nutzerManager.getNutzer();
    return this.nutzerList;
}

This version is working:

private List nutzerList;

public List<Nutzer> getNutzerList() {
    if(nutzerList == null)
        nutzerList = nutzerManager.getNutzer();
    return this.nutzerList;
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文