【发布时间】:2010-02-12 15:35:12
【问题描述】:
我的 JSF 中有一个 rich:tree,如下所示:
<rich:tree value="#{MyBacking.treeNodes}" var="item"
nodeFace="#{item.type}">
<rich:treeNode type="folder"
<h:outputText value="#{item.folder}" />
</rich:treeNode>
<rich:treeNode type="file"
<h:outputText value="#{item.contfile}" />
</rich:treeNode>
</rich:tree>
还有 java 运行时错误
'#{item.type}' Property 'type' not found on type java.lang.String
但是我查看了org.richfaces.model.TreeNodeImpl 的javadoc,并没有提到将类型分配给树节点的方法。这是怎么做到的?
编辑 我已根据提供的答案修改了代码。虽然感觉不错,但我的树现在被忽略了。 java看起来像这样:
在我的支持 bean (MyBacking) 中:
public TreeNodeImpl<LogTreeItem> getTreeNodes() {
TreeNodeImpl<LogTreeItem> rootNode = new TreeNodeImpl<LogTreeItem>();
LogTreeItem rootItem = new LogTreeItem();
rootItem.setType("folder");
rootItem.setName("folderName");
rootNode.setData(rootItem);
return rootNode;
}
物品类别:
public class LogTreeItem {
private String type;
private String name;
public String getType() {
return type;
}
public void setType(String t) {
type = t;
}
public String getName() {
return name;
}
public void setName(String n) {
name = n;
}
}
JSF sn-p 现在是这样的:
<rich:tree value="#{MyBacking.treeNodes}" var="item" nodeFace="#{item.type}">
<rich:treeNode type="folder">
<h:outputText value="#{item.name}" />
</rich:treeNode>
</rich:tree>
我现在要做的就是让一棵树被识别出来。因为我只创建一个带有 rootNode 的树,所以我期待一个节点树输出,但我什么也没看到。我知道我已经很接近了,但我只是看不出有什么调整可以让它栩栩如生。
非常感谢
【问题讨论】: