我在处理动态生成的树时遇到了一些麻烦,即树的叶子从数据库中读取。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