将Java哈希映射实现到树视图中

时间:2012-11-08 13:43:44

标签: java jsf primefaces

我是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> 

托管bean

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 hashmap作为节点的子节点显示在树中?例如,我想用Java hashmap或Java map填充树视图。

1 个答案:

答案 0 :(得分:0)

  

点击节点后如何打开新页面?

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

  

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

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

哦,谢谢你把我介绍给Primefaces。 : - )