Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jsf 2 primefaces树显示一个列表_Jsf 2_Tree_Primefaces - Fatal编程技术网

Jsf 2 primefaces树显示一个列表

Jsf 2 primefaces树显示一个列表,jsf-2,tree,primefaces,Jsf 2,Tree,Primefaces,我从primefaces多选择树showcase页面复制了XHTML和托管bean代码(对于基本树showcase,我也得到了相同的结果) 这是我的索引.xhtml: <?xml version="1.0" encoding="ISO-8859-1" ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitio

我从primefaces多选择树showcase页面复制了XHTML和托管bean代码(对于基本树showcase,我也得到了相同的结果)

这是我的
索引.xhtml

<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:p="http://primefaces.org/ui">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<title>Insert title here</title>
</head>
<body>
    <h:form id="form">

        <p:growl id="messages" showDetail="true" escape="false" />

        <p:tree value="#{treeBean.root}" var="node" selectionMode="multiple"
            selection="#{treeBean.selectedNodes}" id="treeMultiple">

            <p:treeNode>
                <h:outputText value="#{node}" />
            </p:treeNode>
        </p:tree>

        <p:commandButton value="Display Selected" update="messages"
            actionListener="#{treeBean.displaySelectedMultiple}" id="btnDisplay" />

    </h:form>

</body>
</html>

在此处插入标题
这是豆子:

package org.primefaces.examples.view;

import java.io.Serializable;

import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.context.FacesContext;
import javax.faces.event.ActionEvent;

import org.primefaces.model.DefaultTreeNode;
import org.primefaces.model.TreeNode;

@ManagedBean
public class TreeBean implements Serializable {

    private TreeNode root;

    private TreeNode[] selectedNodes;

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

    public TreeNode[] getSelectedNodes() {
        return selectedNodes;
    }

    public void setSelectedNodes(TreeNode[] selectedNodes) {
        this.selectedNodes = selectedNodes;
    }

    public void displaySelectedMultiple(ActionEvent event) {
             if(selectedNodes != null && selectedNodes.length > 0) {
                 StringBuilder builder = new StringBuilder();

            for(TreeNode node : selectedNodes) {
                builder.append(node.getData().toString());
                builder.append("<br />");
            }


  FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_INFO, "Selected",builder.toString());

            FacesContext.getCurrentInstance().addMessage(null, message);
        }
    }
}
package org.primefaces.examples.view;
导入java.io.Serializable;
导入javax.faces.application.FacesMessage;
导入javax.faces.bean.ManagedBean;
导入javax.faces.context.FacesContext;
导入javax.faces.event.ActionEvent;
导入org.primefaces.model.DefaultTreeNode;
导入org.primefaces.model.TreeNode;
@ManagedBean
公共类TreeBean实现了可序列化{
独活根;
私有树节点[]所选节点;
公树{
root=新的DefaultTreeNode(“root”,null);
TreeNode0=新的默认TreeNode(“节点0”,根节点);
TreeNode1=新的默认TreeNode(“节点1”,根节点);
TreeNode2=新的默认TreeNode(“节点2”,根节点);
TreeNode0=新的默认TreeNode(“节点0.0”,node0);
TreeNode01=新的默认TreeNode(“节点0.1”,node0);
TreeNode10=新的默认TreeNode(“节点1.0”,节点1);
TreeNode11=新的默认TreeNode(“节点1.1”,节点1);
TreeNode000=新的默认TreeNode(“节点0.0.0”,node00);
TreeNode001=新的默认TreeNode(“节点0.0.1”,节点00);
TreeNode010=新的默认TreeNode(“节点0.1.0”,节点01);
TreeNode100=新的默认TreeNode(“节点1.0.0”,节点10);
}
公共树节点getRoot(){
返回根;
}
公共树节点[]getSelectedNodes(){
返回所选节点;
}
公共无效集合selectedNodes(TreeNode[]selectedNodes){
this.selectedNodes=selectedNodes;
}
public void displayedSelectedMultiple(操作事件){
if(selectedNodes!=null&&selectedNodes.length>0){
StringBuilder=新的StringBuilder();
用于(TreeNode节点:selectedNodes){
append(node.getData().toString());
builder.append(“
”); } FacesMessage=新的FacesMessage(FacesMessage.SEVERITY_INFO,“Selected”,builder.toString()); FacesContext.getCurrentInstance().addMessage(空,消息); } } }
我得到的只是一张简单的清单:

•节点0
•节点1
•节点2

似乎缺少Ajax、CSS或/或JavaScript代码。。。但在展示中没有提到要添加这一点。 谢谢你的帮助

雄猫7 日食朱诺 webapp配置: JSF2.1 动态webapp3.0
java 6

请格式化您的代码。读起来很可怕。@RinaldoPJr它完成了!!这是一个新手的错误,对不起!:)@user1705922是否无法展开节点??我试过你的代码,效果很好。。你能说清楚你不能实现什么吗:)是的,我不能扩展节点;我还期望当鼠标在节点上时,节点的背景颜色会发生变化,但对我来说,什么都不会发生,我甚至无法选择它们。我在节点左侧也没有箭头,就像在showcase中一样。顺便说一下,在我的pom中,我有3.3 primefaces jar和JSF2.1.11JARS版本。它已经修复了!在我的firefox浏览器中,我打开了web控制台,发现了一个js错误(primefaces未定义),在jsf生成的浏览器中显示的源代码中,在primefaces咆哮标记中,我发现了以下消息{id:'form:messages',sticky:false,life:6000,escape:false,msgs:[{摘要:“我们的资源共享代理la cible«head»,mais aucun composant«head»n\u2019aétédéfini dans la vue”…解决方案是使用,而不是在树的形式所在的xhtml页面中使用。