gpt4 book ai didi

java - jsf How to refresh or update dataTable with new values which are added to database

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:50:06 26 4
gpt4 key购买 nike

  1. 我有一个 jsf 页面 (page1.xhtml),其中在表单中定义了一个“h:datatable”,并使用 hibernate 从数据库中填充了值。这工作正常。

  2. 另外,我在同一页面上放置了一个“h:commandButton”(创建)。通过单击该按钮,将打开一个新的 jsf 页面 (page2.xhtml)。在新页面上,我可以为一些 h:inputText 元素设置值,并可以使用“保存”按钮将它们保存到数据库中。这也工作正常,因为我可以在数据库表中看到新值。

  3. 我的保存方法的返回值是显示数据表的 jsf 页面 (page1.xhtml) 的名称。

  4. 我现在的问题是如何更新或刷新 dataTable 以在现有值之外显示新值?我是否必须从数据库中再次读取它们?

  5. 我的 ManagedBean 是 SessionScoped,我使用的是 JSF 2.2

我检查了这个http://balusc.blogspot.de/2006/06/using-datatables.html但是我找不到相应的信息。

拜托,有人可以帮忙吗?

最佳答案

你有两个选择。

第一种选择是为页面 1 切换到 @ViewScoped bean,以便在最初请求页面时调用 service.load()。这样,一旦请求页面,就会从数据库中获取刷新的数据,因此数据将是最新的,并且对您来说是透明的。

第二种选择是继续使用@SessionScoped bean。但是在第 2 页中,您需要使用 @ManagedProperty 注入(inject)该 session 范围的 bean,并通过调用 sessionBean.getData(持久化元素);。这样,您的 session 作用域 bean 将包含最新值,这是您的责任。

关于java - jsf <h :dataTable> How to refresh or update dataTable with new values which are added to database,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20305487/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com