我是JSF编程的新手。我想从Primefaces网站实现树视图example

JSF页面

<h:form id="form">

    <p:tree value="#{TreeViewController.root}" var="node" dynamic="true" cache="true" id="tree" animate="true">
        <p:treeNode>
            <h:outputText value="Node"/>
        </p:treeNode>
    </p:tree>

</h:form>


托管豆

private TreeNode root;

    public TreeView() {
        root = new DefaultTreeNode("Root", null);
        TreeNode node0 = new DefaultTreeNode("Node 0", root);
        TreeNode node1 = new DefaultTreeNode("Node 1", root);
        TreeNode node2 = new DefaultTreeNode("Node 2", root);

        TreeNode node00 = new DefaultTreeNode("Node 0.0", node0);
        TreeNode node01 = new DefaultTreeNode("Node 0.1", node0);

        TreeNode node10 = new DefaultTreeNode("Node 1.0", node1);
        TreeNode node11 = new DefaultTreeNode("Node 1.1", node1);

        TreeNode node000 = new DefaultTreeNode("Node 0.0.0", node00);
        TreeNode node001 = new DefaultTreeNode("Node 0.0.1", node00);
        TreeNode node010 = new DefaultTreeNode("Node 0.1.0", node01);

        TreeNode node100 = new DefaultTreeNode("Node 1.0.0", node10);
    }

    public TreeNode getRoot() {
        return root;
    }


我想问你这两个问题:
单击节点时如何打开新页面?
如何将Java哈希图显示在树中作为节点的子节点?例如,我想用Java hashmap或Java map填充树视图。

最佳答案

单击节点时如何打开新页面?


在您链接的示例中,为每个树节点创建了一个输出文本,您是否尝试过在其中放置其按钮元素之一?也许command link?然后将其配置为open in a new window


  如何将Java哈希图显示在树中作为节点的子节点?例如,我想用Java hashmap或Java map填充树视图。


如果我理解正确,则希望使用HashMap中的值加载节点。这将意味着使用迭代器并为托管bean中的每次迭代创建一个节点。加上您的逻辑来制作树形结构和链接。

哦,谢谢您向我介绍Primefaces。 :-)

10-07 19:31
查看更多