gpt4 book ai didi

java - TreeModel 中的内部类的属性不可读

转载 作者:行者123 更新时间:2023-12-01 04:15:40 39 4
gpt4 key购买 nike

这里我有一个ManagePageSource,它使用zk的mvvm模式为TreeView提供模型。
ManagePageSource 有一个内部类 Node 来保存 treeNode 数据。
Node 有一个 name 属性,zk 无法在 zul 文件中读取它。

public class ManagePageSource implements Serializable{

private static final long serialVersionUID = 1L;

private TreeModel treeModel = null;

public TreeModel getTreeModel() {
TreeNode<Node>[] children = null;
// create a node
TreeNode<Node> node = new DefaultTreeNode<Node>(new Node("child"), children);
// add child node to a node
node.add(new DefaultTreeNode<Node>(new Node("child2")));
// create treeModel and set nodes
treeModel = new DefaultTreeModel(node);

return treeModel;
}

// Inner class for holding tree data
class Node implements Serializable{
private static final long serialVersionUID = 1L;
private String name = null;
public Node(String name){
this.name = name;
}
public String getName(){
return name;
}
public void setName(String name){
this.name = name;
}
}

}
<小时/>

管理.zul

<window apply="org.zkoss.bind.BindComposer"
viewModel="@id('vm') @init('ManagePageSource')">
<tree model="@load(vm.treeModel)">
<treecols>
<treecol label="Path" />
</treecols>
<template name="model">
<treeitem>
<treerow>
<treecell label="@load(each.data.name)" />
</treerow>
</treeitem>
</template>
</tree>
</window>

错误堆栈

>>org.zkoss.zel.PropertyNotFoundException: Property 'name' not readable on type ManagePageSource$Node
>> at org.zkoss.zel.BeanELResolver$BeanProperty.read(BeanELResolver.java:409)
>> at org.zkoss.zel.BeanELResolver$BeanProperty.access$000(BeanELResolver.java:320)

为什么这里的名称不可读?

最佳答案

name 不可读,因为 Node 类不是公共(public)的。改变它解决了问题。

关于java - TreeModel 中的内部类的属性不可读,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19477396/

39 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com