f:ajax 不会在完成时更新 t:datatable



我有一个JSF搜索命令按钮和一个战斧dataTable,显示搜索结果。单击命令按钮时,数据表应输出搜索结果。无论如何,由于我使用 JSF Ajax,因此 dataTable 没有显示。我只是想知道JSF Ajax是否导致了问题?

以下是导致表现在呈现的问题代码:

<h:commandButton id="search" value="#{msg.Label_Search}" action="#{theBean.doSearch}">
  <f:ajax render="searchStatus" execute="@form" />
</h:commandButton>
<h:outputText id="searchStatus" value="Loading data now..." rendered="#{theBean.searchingNow}" />
<h:panelGroup id="searchResultTable">
  <t:dataTable ... />
</h:panelGroup>

*请注意这一点。如果删除了 ajax 代码。它工作正常。

你只是在更新searchStatus,而不是在ajax请求完成时更新searchResultTable。因此,最终用户确实永远不会看到searchResultTable的HTML表示中的视觉变化。

相应地修复<f:ajax render>,以便searchResultTable也真正更新:

<f:ajax render="searchStatus searchResultTable" execute="@form" />

最新更新