java - 丰富 :tree -- unable to generate leaves dynamically?

标签 java tree richfaces

我在处理动态生成的树(即从数据库读取叶子的树)时遇到一些麻烦。

在我的应用程序中,我显示了问题列表(在丰富的数据表中)。当用户单击某个问题时,会显示一个包含与该问题相关的照片名称的树。即使与所选问题相关的照片是从数据库中正确读取的,树的叶子仅包含我在开始时设置的默认测试值。

相关片段:

树包含在一个表单中,如下所示:

<rich:tree style="width:300px" 
    nodeSelectListener="#{treeBean.processSelection}"
    reRender="selectedNode" 
    ajaxSubmitSelection="true" 
    switchType="server" 
    value="#{treeBean.treeNode}">
</rich:tree>

在bean中我有获取treeNode的方法:public TreeNode getTreeNode()

我已经调试了这个,但我不明白它是如何工作的。在 getTreeNode() 返回和在 rich:tree 中显示之间,treeNode 的值是否发生了其他变化? 我在 getTreeNode() 返回之前打印了 treeNode 的值,它是正确的,但显示的值不是打印出来的值。

任何人都可以解释为什么会发生这种情况和/或它内部是如何工作的?谢谢!

编辑:经过更详细的调试后,我认为 getTreeNode() 方法仅在渲染将显示树的页面期间调用一次。如何在每次显示树时强制 rich:tree 组件调用此方法?

最佳答案

通过重新渲染树来解决。可能有一个更优雅的解决方案,但这目前有效。

关于java - 丰富 :tree -- unable to generate leaves dynamically?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5120227/

相关文章:

java - WebView 不打开 android 默认视频播放器?

java - 由于日期而导致 Android 数据库 SQLite 出错

graph - 有界度生成树中的 np 完备性

richfaces - 有条件地显示 Richfaces 模式面板

java - 具有相同哈希码的两个不相等的对象

c - 如何在 C 中释放树时找出导致内存泄漏的原因

java - 带有位置类的java树的实现

java - 动态加载样式表(xhtml 文件)

javascript - JSF 调用支持 bean 方法并在 ENTER 键上重新呈现组件

java - Android 可滚动 AlertDialog 以编程方式