我正在使用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;