【发布时间】:2009-12-18 01:57:01
【问题描述】:
我尝试将 ArrayList 发送到 GWT 中的 RPC 服务,但一直失败。 这是我的代码片段
greetingService.addNewQuestion(questionnaireKey, questionText, qcList, new AsyncCallback<Boolean>(){
@Override
public void onFailure(Throwable caught) {
Window.alert("Something went wrong!\n"+caught.getMessage());
}
@Override
public void onSuccess(Boolean result) {
Window.alert("Question Added!");
}
});
QuestionChoice是一个没有方法的简单对象,qcList是一个QuestionChoice的ArrayList
public class QuestionChoice implements IsSerializable{
/**
*
*/
private static final long serialVersionUID = 5668640935838672293L;
public String text;
public boolean isCorrect;
public QuestionChoice(){
}
public QuestionChoice(String text, boolean isCorrect){
this.text = text;
this.isCorrect = isCorrect;
}
}
有没有人尝试在 GWT-RPC 中发送 ArrayList 作为参数? 如果您这样做,请尝试在此处发布您的示例代码。 谢谢。
【问题讨论】:
-
是的。可以在 GWT Rpc 中发送 ArrayList。我认为您的代码没有错误。请您发布您遇到的错误。
-
能把 GreetingService 的 addNewQuestion 的签名贴出来吗?以及你得到的错误(它是在编译时还是运行时失败?)
-
大家好,我猜错误是在我的开发环境中。也许是缺乏项目刷新、项目清理、重建、GWT 编译和应用程序引擎重新加载。昨天发布问题后,我使用 ArrayList
而不是 ArrayList 进行了调整。今天早上重新登录到stackoverflow(新用户)时,由于ImJasonH要求“addNewQuestion”方法的签名,我意识到我已经对我的代码进行了如此多的变形,所以我不得不按原样重建它,但令我惊讶的是,它现在工作!它将 ArrayList 对象发送到服务器。谢谢大家:) -
哦,我为我迟到的回复道歉,我以为 stackoverflow 会通过电子邮件通知我。 :)