我有这些课程
public abstract class Unit
{
public abstract UnitType getType();
...
}
public class Item extends Unit
{
protected ItemType type;
@Override
public ItemType getType()
{
return type;
}
public void setType(ItemType type)
{
this.type = type;
}
...
}
且obvoiusly ItemType
扩展UnitType
。
我得到:
javax.el.PropertyNotWritableException: /WEB-INF/facelets/general.xhtml @23,165 value="#{bean.item.type}": The class 'com.example.Item' does not have a writable property 'type'.
我能理解协变返回类型会混淆EL(2.2),所以这是一个错误吗?
我可以使用
解决此问题public void setType(UnitType type)
并检查是否有真正的解决方案而非解决方法?