我在父类上的数据绑定有点问题。
这是结构:
class Instrument{
//some more fields
private Entity e;
}
class Equity extends Instrument{
//some fields (not someField)
}
class Entity{
private String someField;
}
我想致电PropertyDescriptor descriptor = PropertyUtils.getPropertyDescriptor(model.getValue(), propertyName);
,其中model.getValue()
返回Equity
类型的对象,propertyName
指定字段名称(Instrument.e
)。
我尝试了各种各样的方法,如:
super.e.someField
e.someField
instrument.e.someField
someField
每个方法都失败了,但最后一个
java.lang.NoSuchMethodException: Unknown property 'someField' on class 'class Equity'
即使它没有抛出异常,它也不会设置任何值,即使有一个。
所以我的问题是,如何在Instrument.e.someField
上Equity
向我的控件添加数据绑定?
答案 0 :(得分:1)
原来我只是愚蠢到底。我忘了在Instrument
课程中为e.someField
创建getter和setter。一旦我添加了它,它就可以与public class ContainerA {
String value;
public ContainerA(String value) {
this.value = value;
}
public String getValue() {
return value;
}
//some more methods
}