我有一個很大的樹結構(將近6000個節點和不斷增長),我在我的webapp中顯示爲一個Richfaces rich:tree。JSF2 Richfaces 4.1.0樹的Ajax部分渲染
當選擇一個節點時,後臺bean中的處理函數運行一些邏輯併發揮一定的魔力。
發生的一件事情是樹在樹中的每個選擇上都通過Ajax調用重新呈現。這意味着每次選擇更改時都會將超過2MB的數據發送到服務器。
正如你可能猜測我的問題在於,這是非常緩慢的。我想要做的只是選擇了重新渲染的樹節點,而不是整個樹,因爲這隻希望向服務器發佈幾個KB。
這是我在JSF2.0中使用RichFaces 4.1.0開發的第一個真正的項目,因此我瘋狂地搜索了一個解決方案,並通過RichFaces站點上的文檔搜索,但尚未找到解決方案。
我的代碼如下所示:
<h:form id="main">
<a4j:outputPanel ajaxRendered="true">
<rich:panel id="treePanel" header="Tree">
<rich:tree id="theTree" var="tree" value="#{treeBean.rootNodes}" selectionType="ajax" toggleType="client" selectionChangeListener="#{treeBean.selectionChanged}">
<rich:treeNode>
<h:outputText styleClass="#{tree.selected?'selectedNode':''}" value="#{tree.title}" />
</rich:treeNode>
</rich:tree>
</rich:panel>
</a4j:outputPanel>
</h:form>
你是否找出了樹節點部分渲染的解決方案。 – 2014-07-08 15:15:15