Jsf 如何在bean中将树添加到选项卡

Jsf 如何在bean中将树添加到选项卡,jsf,tabs,tree,primefaces,Jsf,Tabs,Tree,Primefaces,我尝试将树添加到1选项卡: Tab tmp = new Tab(); TreeNode root = new DefaultTreeNode("root",null); TreeNode test = new DefaultTreeNode("test",root); tmp.getChildren().add((UIComponent)root); 有人能帮我吗?我建议你使用 Accordion可以显示模型支持的选项卡的动态数量。由于选项卡是动态生成的,因此很容易实现添加/删除选项卡 看看

我尝试将树添加到1选项卡:

Tab tmp = new Tab();
TreeNode root = new  DefaultTreeNode("root",null);
TreeNode test = new DefaultTreeNode("test",root);
tmp.getChildren().add((UIComponent)root);

有人能帮我吗?

我建议你使用

Accordion可以显示模型支持的选项卡的动态数量。由于选项卡是动态生成的,因此很容易实现添加/删除选项卡

看看这个例子。。。这是你执行任务的方式。。。(简单多了,这就是primefaces在showcase中实现它的方式)

要扩展给定的示例,请尝试

添加到选项卡中

<p:tree value="#{player.root}" var="node" id="tree">  
    <p:treeNode id="treeNode">  
        <h:outputText value="#{node}" id="lblNode"/>  
    </p:treeNode>  
</p:tree> 
以下是player.java的源代码

编辑

看完


这项功能似乎有一个开放的bug…

你不喜欢使用我想要一个动态的AccordionPanel,AccordionPanel有许多选项卡,每个选项卡都有一棵树,所有都是动态的(我想在bean文件中创建)你能给我看一下解决方案吗:)你使用什么版本的PrimeFace?谢谢你的帮助。我想在bean文件中创建,我尝试了tmp.getChildren().add((UIComponent)root);但不能。请帮帮我:)对不起。。。没有以这种方式使用手风琴/制表符。。。除非对实施有严格要求。。。您应该在showcase中尝试这个示例……那么为什么我们可以用xhtml创建页面,而不能用bean创建页面呢?谢谢:)我希望如此,因为所有信息都是动态的,所以组件都是动态的:)因为使用了
private TreeNode root;  

public initTree() {  
    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;  
}