我正在尝试部署一个更大的GWT项目来开始研究它。经过几个问题我终于碰到了以下内容,我无法解决:
这是一段随机代码:
service.getSuggestionOracle(this.suggestionString.getText(), new AsyncCallback<List<Entity>>() {
@Override
public void onSuccess(List<Entity> result) {
suggestionString.setStyleName("searchInput");
processSuggestionOracle(result);
}
@Override
public void onFailure(Throwable caught) {
suggestionString.setStyleName("searchInput");
GWT.log("Suggestion fails.");
}
});
Eclipse抱怨onSuccess和onFailure上的两个函数:
The method onSuccess(List<Entity>) of type new AsyncCallback<List<Entity>>(){} must override a superclass method
确实当我将鼠标悬停在:new AsyncCallback<List<Entity>>()
语句上时,它会告诉我If an RPC is successful, then onSuccess(Object) is called, otherwise onFailure(Throwable) is called.
我得出结论,有一个带有onSuccess和onFailure声明的超类,但是编译器找不到它。
我使用GWT-2.4.0并将GWT库添加到类路径中。
上面的代码只是一个随机的例子,全都有大约150个类似的错误 项目。此外,有几个导入,如com.xind.gwt.dom.client.DOM, 无法解决的问题。
有人知道我在这里缺少什么吗?
答案 0 :(得分:1)
我可以想到两种可能性:
您尚未在服务器实现上扩展RemoteServiceServlet。
或 在此代码中,
public void onSuccess(列出结果){
}
您将List作为返回的对象。这是用户定义的类或java数据类型的对象列表吗?如果列表是用户定义的类型,则必须通过实现java.io.serializable来序列化相应的类;