0

我想用richfaces构建一个复选框树。

我在这里看到了一个带有另一个 jsf 实现的示例。

我想有类似的功能。

是否可以?如何?

4

1 回答 1

1

我不确定 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>

然后,为了可折叠的效果,你必须做一些 JavaScript,或者重用一些已经 存在

于 2012-08-08T14:36:44.287 回答