【问题标题】:How to force refresh of datatable via AJAX in JSF 2.0?如何在 JSF 2.0 中通过 AJAX 强制刷新数据表?
【发布时间】:2010-06-30 18:22:11
【问题描述】:

我有数据表,它从数据库中提取信息。我在表单中添加了一个按钮,我想用它来强制刷新表(“表”的 ID),但是我不知道该怎么做。我现在拥有的是:

<h:commandButton value="Refresh">
    <f:ajax render="table"/>
</h:commandButton>

我的目标是在单击按钮时强制呈现表格组件。但是,似乎单击被忽略了,或者它正在返回缓存数据,而不是实际出去并再次调用我的数据库代码。

我做错了什么?

【问题讨论】:

    标签: java jsf jsf-2


    【解决方案1】:

    您必须在 commandButton 中指定一个操作,该操作调用一个 bean 并刷新表中显示的数据(目前该按钮不执行任何操作)。 我不是专业人士,但我认为它应该是这样的:

    <h:commandButton value="Refresh" action="#{myBean.refreshData}">
      <f:ajax render="table"/>
    </h:commandButton>
    

    【讨论】:

    • 我也试过了。 bean 方法确实被调用,但表永远不会更新。在我的例子中没有特别需要调用方法,因为表引用的 getter 会进行数据库查找(我目前没有缓存在对象中)。
    【解决方案2】:

    呃。它实际上正在工作,只是令人难以置信的缓慢。我们最近切换了数据库服务器,在旧服务器上花费不到一秒的查询恰好在新服务器上花费了 20 多秒。我只是在看它时超时。叹息。

    作为旁注,一旦我弄清楚这一点,我就在有和没有动作的情况下进行了测试。双向工作(使用 getter 进行查找)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-11-17
      • 1970-01-01
      • 2013-09-07
      • 1970-01-01
      • 1970-01-01
      • 2020-10-15
      • 2015-06-15
      • 1970-01-01
      相关资源
      最近更新 更多