java - 无法在通过 GWT-RPC 传递到服务器的 ArrayList 中找到对象

标签 java google-app-engine gwt collections gwt-rpc

我有一个 ShortcutVirtualSystemEntryArrayList,其中:

public class ShortcutVirtualSystemEntry extends VirtualSystemEntry implements IsSerializable {

  public ShortcutVirtualSystemEntry(String id, String label, String image,
      String tooltip, String parent, int x, int y, int tray, Command action) {
    super(id, label, image, tooltip, parent, x, y, tray, action);
  }

public ShortcutVirtualSystemEntry() {

}

}

当我尝试通过RPC调用将ArrayList从客户端传递到服务器时,列表中的所有对象都被实例化,但没有数据 这里是 RPC:

docService.saveDocument2(shortcuts,
                new AsyncCallback<Void>() {

                    @Override
                    public void onFailure(Throwable caught) {
                        Window.alert("Faliled");
                        caught.printStackTrace();
                    }

                    @Override
                    public void onSuccess(Void result) {
                        Window.alert("Success");

                    }
                });

服务器端:

@Override
public void saveDocument2(
        List<ShortcutVirtualSystemEntry> shortcuts) {
    for(ShortcutVirtualSystemEntry v: shortcuts)
    {
        System.out.println("Image "+v.getImage());// Prints : Image null...
    }


}

那么为什么我必须丢失我的列表数据?我做错了什么

提前非常感谢:)

最佳答案

我对GWT了解不多。但 RPC 的共同规则是确保集合中的元素也是可序列化的。因此,如果您发送可序列化的列表,但列表中的对象不可序列化,那么您将无法通过 RPC 正确获取元素。因此,请确保列表中的对象是可序列化的。

关于java - 无法在通过 GWT-RPC 传递到服务器的 ArrayList 中找到对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17059672/

相关文章:

java - 错误从 Java 中的函数返回 double 值

java - java新手实现接口(interface)

php - 如何使用PHP使用GAE将图像上传到谷歌云存储

java - App Engine Java Servlet 不连接到 Cloud SQL

gwt - 如何在 UiBinder XML 文件中使用 AbsolutePanel

GWT 编辑器框架

java - 抽屉导航中的返回语句是什么意思?

java - 按字母顺序对对象数组进行排序

unit-testing - AppEngine 中的单元测试任务队列

GWT - 在不使用 FileUpload 对话框的情况下将文件上传到服务器