在我的表单中,我有 textField:
add(new TextField<String>("awayScore", new PropertyModel<String>(value, "awayScore") {
private static final long serialVersionUID = 1L;
@Override
public String getObject() {
logger.info("textField");
return super.getObject();
}
}));
如您所见,我只是添加了记录器。
我在这里没有看到任何问题,但是当我运行我的应用程序时,我收到了这个错误:
java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.String
at org.toursys.web.PlayOffPage$PlayOffForm$2$1$1.getObject(PlayOffPage.java:135)
第 135 行包含:
return super.getObject();
我真的很困惑,因为没有覆盖这个作品
更新:
当我将代码编辑为:
Object value = super.getObject();
logger.error(value.getClass() + "");
此代码返回:
class java.lang.Integer
这真的很奇怪,因为根据编译器这应该返回 String