我在處理動態生成的樹時遇到了一些麻煩,即樹的葉子從數據庫中讀取。rich:樹 - 無法動態生成葉子?
在我的應用程序,我展示的問題的列表(在一個富裕的數據表)。當用戶點擊一個問題時,會顯示一個包含與該問題相關的照片名稱的樹。即使與選定問題關聯的照片可以正確從數據庫中讀取,樹的葉子只包含我在開始時設置的默認測試值。
相關片段:
樹被包含在一種形式,它看起來像這樣:
<rich:tree style="width:300px"
nodeSelectListener="#{treeBean.processSelection}"
reRender="selectedNode"
ajaxSubmitSelection="true"
switchType="server"
value="#{treeBean.treeNode}">
</rich:tree>
而且在bean我對獲得treeNode的方法:public TreeNode getTreeNode()
我已經調試過,我不明白它是如何工作的。難道別的事情發生treeNode的的getTreeNode()的回報,顯示在富人之間的值:樹? 我在getTreeNode()的返回之前打印出treeNode的值,它是正確的,但顯示的值不是打印出來的值。
誰能解釋爲什麼出現這種情況和/或如何工作的內部?謝謝!
編輯:經過更詳細的調試後,我認爲getTreeNode()方法僅在渲染將顯示樹的頁面期間調用一次。每次顯示樹時,rich:tree組件如何被迫調用此方法?
你甲肝'重新呈現=「treeId」'當一個問題被點擊? – morja 2011-02-28 11:30:34
@morja:謝謝,同時我也通過得出同樣的結論來解決它 - 我重新渲染樹並且它工作正常! – Cristina 2011-02-28 11:33:38
@morja again:我會投你的答案,但沒有足夠的代表點 - 對不起! – Cristina 2011-02-28 11:53:14