我写了一个关于myfaces的tree2的组件的菜单,但是在出现了以下的错误;java.lang.IllegalArgumentException: Unable to locate facet with the name: null
at org.apache.myfaces.custom.tree2.HtmlTreeRenderer.encodeCurrentNode(HtmlTreeRenderer.java:318)
at org.apache.myfaces.custom.tree2.HtmlTreeRenderer.encodeTree(HtmlTreeRenderer.java:249)
at org.apache.myfaces.custom.tree2.HtmlTreeRenderer.encodeChildren(HtmlTreeRenderer.java:201)
at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:693)
at javax.faces.webapp.UIComponentTag.encodeChildren(UIComponentTag.java:600)
at javax.faces.webapp.UIComponentTag.doEndTag(UIComponentTag.java:537)
at org.apache.jsp.MyJsp_jsp._jspx_meth_t_005ftree2_005f0(MyJsp_jsp.java:198)
at org.apache.jsp.MyJsp_jsp._jspx_meth_h_005fform_005f0(MyJsp_jsp.java:152)
at org.apache.jsp.MyJsp_jsp._jspx_meth_f_005fview_005f0(MyJsp_jsp.java:118)
at org.apache.jsp.MyJsp_jsp._jspService(MyJsp_jsp.java:79)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)我的jsp的代码如下:
<h:form id="foos">
<t:tree2 value="#{treeBean.treeData}" var="node" id="clientTree" clientSideToggle="false">
   <f:facet name="person">
       <h:outputText value="#{node.description}"></h:outputText>
        </f:facet>
       <f:facet name="foo-folder">
       <h:outputText value="#{node.description}"></h:outputText>
       </f:facet>
                   <f:facet name="document">
       <h:commandLink value="#{node.description}"></h:commandLink>
       </f:facet>
</t:tree2>
</h:form>
后台bean的代码:
public TreeNode getTreeData(){
TreeNode treeData1=new TreeNodeBase("foo-folder","中国",false);
TreeNodeBase personNode=new TreeNodeBase("person","湖北",false);
personNode.getChildren().add(new TreeNodeBase("document","武汉",true));
personNode.getChildren().add(new TreeNodeBase("document","宜昌",true));
treeData1.getChildren().add(personNode); personNode=new TreeNodeBase("person","湖南",false);
personNode.getChildren().add(new TreeNodeBase("document","长沙",true)); treeData1.getChildren().add(personNode);
return treeData;
}
不知道为什么出错,希望有高手指点1