【发布时间】:2012-08-22 22:25:53
【问题描述】:
这是我要发送的课程:
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 编译器没有显示警告或错误。
有什么人可以指出我可以尝试让它工作吗?
【问题讨论】:
-
Java 序列化的基础知识:让Java 序列化Object 类型就像给银行出纳员一张空白支票并告诉出纳员您希望将支票存入银行。永远不要在 RPC 数据传输对象中封装/嵌入不确定的对象。
-
那么我怎样才能将字符串键映射发送到各种值(日期、字符串、整数等类型)?这使用 Java 序列化就可以很好地序列化...
标签: java gwt serialization gwt-rpc