【发布时间】:2013-01-26 19:52:10
【问题描述】:
Juno 将我的属性引用突出显示为无效,因为我添加了一个参数化类。
public abstract class AbstractBaseAction<viewDataClass extends AbstractViewData>
protected viewDataClass viewData;
public viewDataClass getViewData(){
return viewData;
}
....
}
public class SomeAction extends AbstractBaseAction<SomeViewData>
{
public AbstractMaturingOptionsAction()
{
super(new SomeViewData());
}
@PostConstruct
public void setupViewData(){
....
}
....
}
public class SomeViewData extends AbstractViewData
String someProperty;
public String getSomeProperty(){
return someProperty;
}
....
}
....
property="#{SomeAction.viewData.someProperty}"
Juno 正在突出显示一些属性
“someProperty 无法解析为 viewData 的成员”
这值得研究,还是我应该用另一种方式编码?
【问题讨论】:
-
问题在于 JSF(和其他类)将
viewData属性视为AbstractViewData实例而不是特定的子类。这就解释了为什么您的 IDE 标记了someProperty属性,因为该属性属于子级,而不是父级。