我有一个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" />