假设我在GWT中有表单构建,这是一个UI-Binder,它实现了编辑器界面(com.google.gwt.editor.client.Editor),其中包含两个日期字段(日期为from和to)。 Bean类应该有成员:
Date fromDate; // with getter and setter Date toDate; // with getter and setter
好吧,虽然将bean类定义为已编写,但没有问题,但是在我添加这样的内容之后:
public boolean hasFromDate()
{
return fromDate != null;
}
我收到了编译错误(例如fromDate):
[ERROR] Line 17: The method hasFromDate() is undefined for the type Date
[ERROR] Line 20: The method setFromDate(Date) is undefined for the type Date
临时文件中生成的代码(qualifiedBeanClass_fromDate_Context.java)似乎具有:
@Override public java.util.Date getFromModel() {
return (parent != null && true) ? parent.getToDate().hasToDate() : null;
}
@Override public void setInModel(java.util.Date data) {
parent.getToDate().setToDate(data);
}
父亲是我的豆类。这是非常错误的,因为getToDate()返回Date(或null)实例,所以编译错误绝对没有错。问题是,为什么GWT关心那些方法(hasToDate / hasFromDate),或者只有getter / setter方法是强制性的?