0

这是我要发送的课程:

public class DummyClass implements Serializable, IsSerializable {

  private Map<String, Object> properties = new HashMap<String, Object>();


  public DummyClass() {
    // stuff
  }
  public Object getValue(String key) {
    return properties.getValue(key);
  }
  public void setValue(String key, Object value) {
    properties.put(key, value);
  }
}

但是当我尝试将它作为参数发送到 GWT RPC 中的方法时,我得到了一个伞形异常。

  DummyClass dummy = new DummyClass();
  dummy.setValue("foo", "bar");
  ServiceImpl impl = Gwt.create(SampleService.class).doSomething(dummy);

我可以删除 ... 中指定的泛型类型,Map properties但除此之外,Object或者Serializable对可以存储在属性映射中的内容没有限制。

使用 Java 的标准序列化可以很好地序列化类的实例。

此外,GWT 编译器没有显示警告或错误。

有什么人可以指出我可以尝试让它工作吗?

4

1 回答 1

0

也许您可以尝试用更具体的东西(例如)替换方法的java.lang.Object返回类型getValue()和参数类型。setValue()java.io.Serializable

另请注意,如果您的对象仅Serializable实现(除此之外无需实现IsSerializable),您也可以。

于 2012-08-22T22:36:34.507 回答