我正在使用Richfaces 3,Facelets(JSF 2之前的版本)和Tomcat。我正在向页面添加Richfaces树,但出现此错误:


  org.richfaces.model.TreeNodeImpl无法转换为javax.swing.tree.TreeNode


这是我用来构建节点列表的代码:

 int i = 0;
 TreeNodeImpl<String> rootNode = new TreeNodeImpl<String>();
 for( Recommendation recommendation : m_recommendationsBean.getRecommendations() )
 {
    final TreeNodeImpl<String> childNode = new TreeNodeImpl<String>();
    childNode.setData( recommendation.getEventDescription() );
    rootNode.addChild( i, childNode );
    i++;
 }
 m_treeNodes.add( rootNode );


接着:

   @NotNull
   public List<TreeNodeImpl<String>> getTreeNodes ()
   {
      return m_treeNodes;
   }


我的页面上只有这个:

<rich:tree value="#{DmsRecommendationsPage.treeNodes}" var="recommendation">
   <rich:treeNode>
      #{recommendation}
   </rich:treeNode>
</rich:tree>


有任何想法吗?谢谢!

最佳答案

检查您的进口。属性声明中应使用RichFaces自己的org.richfaces.model.TreeNode接口。您可能已经选择了IDE自动建议的第一个选项,即在声明TreeNode时导入Swing而不是RichFaces。

更换

import javax.swing.tree.TreeNode;


通过

import org.richfaces.model.TreeNode;

09-03 21:11