这是我要发送的课程:
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编译器没有显示警告或错误。
有没有人可以指出我可以尝试让它发挥作用?
答案 0 :(得分:0)
也许您可以尝试将java.lang.Object
返回类型的getValue()
和参数类型的setValue()
方法替换为更具体的内容(例如java.io.Serializable
)。
另请注意,如果您的对象仅实现Serializable
(除了它之外不需要实现IsSerializable
,您也可以。)