2

我尝试将 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 作为参数?如果您这样做,请尝试在此处发布您的示例代码。谢谢你。

4

2 回答 2

3

是的,可以在 GWT-RPC 调用中将 ArrayList 作为参数发送。在开发 GWT-RPC 代码的时候,很多时候调用 GWT-RPC 中的请求可能会遇到错误,这是由于 GWT-RPC 服务的变化可能没有对应客户端编译的 GWT-RPC定义。要解决此问题,您必须在更改服务器端类或 GWT-RPC 服务定义(即 GreetingService、GreetingServiceAsync 和 GreetingServiceImpl 中的代码)中的代码时重新启动开发服务器

于 2010-01-19T02:30:09.270 回答
1

如果您使用的是 GWT 1.5 和 Java 1.6,问题出在 @Override 注释上,您并没有真正覆盖方法,而是在实现。摆脱注释,一切都会好起来的。

于 2009-12-18T12:09:21.850 回答