我想用richfaces构建一个复选框树。
我在这里看到了一个带有另一个 jsf 实现的示例。
我想有类似的功能。
是否可以?如何?
我不确定 RichFaces 是否能够帮助您,但OmniFaces肯定会。
按照项目页面上的说明将 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>