我需要在JSF中表示树数据。但它看起来不应该像树,而是使用嵌套的方块。我所有的努力都完全失败了。我尝试构建递归复合组件,但由于查看/构建时间问题而失败。
我认为我不能重复使用树组件,因为它们不能提供所需的视觉效果。
我需要一些方向。
答案 0 :(得分:2)
使用复合材料确实无法做到这一点。您需要使用一个完整的组件,就像几乎所有组件/实用程序库在其组合中一样。鉴于您希望完全控制树标记,因此您需要一个无标记树组件。 OmniFaces有一个<o:tree>
组件,不会生成任何标记。例如,如果您打算为每个树节点生成<div>
,无论深度级别如何,请执行以下操作:
<o:tree value="#{bean.tree}" var="item">
<o:treeNode>
<o:treeNodeItem>
<div>
#{item}
<o:treeInsertChildren />
</div>
</o:treeNodeItem>
</o:treeNode>
</o:tree>