代码之家  ›  专栏  ›  技术社区  ›  Brian Knoblauch

如何在jsf2.0中通过AJAX强制刷新datatable?

  •  2
  • Brian Knoblauch  · 技术社区  · 14 年前

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

    我的目标是在单击按钮时强制呈现表组件。但是,它看起来要么被忽略,要么返回缓存数据,而不是实际出去再次调用我的数据库代码。

    2 回复  |  直到 14 年前
        1
  •  1
  •   Wolkenarchitekt    14 年前

    您必须在commandButton中指定一个操作,该操作调用bean并刷新表中显示的数据(当前按钮不执行任何操作)。 我不是职业选手,但我觉得应该是这样的:

    <h:commandButton value="Refresh" action="#{myBean.refreshData}">
      <f:ajax render="table"/>
    </h:commandButton>
    
        2
  •  0
  •   Brian Knoblauch    14 年前

    啊。它实际上在工作,只是速度慢得令人难以置信。我们最近更换了数据库服务器,一个查询在旧的服务器上只花了不到一秒钟的时间,而在新的服务器上只花了20多秒钟。我只是在看的时候超时了。叹气。

    顺便说一句,当我发现这一点时,我测试了有无动作。双向工作(getter执行查找)。