答案 0 :(得分:1)
我不确定RichFaces能否为您提供帮助,但OmniFaces肯定是will。
按照project page的说明将JAR添加到项目中,然后在bean中创建TreeModel的实现。
以下是展示中的示例,使用提供的ListTreeModel
:
private TreeModel<ExampleEntity> tree;
@PostConstruct
public void init() {
tree = new ListTreeModel<ExampleEntity>();
tree.addChild(new ExampleEntity(1L, "One"))
.addChild(new ExampleEntity(2L, "Two")).getParent()
.addChild(new ExampleEntity(3L, "Three")).getParent()
.getParent()
.addChild(new ExampleEntity(4L, "Four"))
.addChild(new ExampleEntity(5L, "Five"));
}
然后,在您的XHTML页面上,您可以为树创建自定义标记,以下是使用带有复选框的HTML列表的示例:
<o:tree id="tree" value="#{treeBean.tree}" var="exampleEntity" varNode="node">
<o:treeNode>
<ul>
<o:treeNodeItem>
<li>
<h:selectBooleanCheckbox value="#{exampleEntity.value}" />
<o:treeInsertChildren />
</li>
</o:treeNodeItem>
</ul>
</o:treeNode>
</o:tree>