我有一些与 GWT 的 RPC 机制一起使用的可序列化对象。我决定让它们都成为一个包含公共字段(例如“id”、“revision”等)的对象的子类。但是,我注意到 GWT 不会序列化超类的字段,所以我只获取每个超类客户端的类字段为空。
我怎样才能让超类字段也被序列化,而不必为我的每一个 Serializable 类编写一个 CustomFieldSerializer?是否可以?
例子:
public class Super {
private String id;
public String getId() {
return id;
}
}
public class Sub extends Super implements Serializable {
private String name;
// more stuff here
}
// on the client side, inside an AsyncCallback
onSuccess(Sub sub) {
assert(sub.getId() != null);
}
因此,当我通过 GWT 的 RPC 机制将其发送到客户端时,我会在任何 Sub 实例的“id”字段中得到一个空值。我确保在服务器中,id 不为空。我还尝试让超类实现 Serializable,但没有运气。
欢迎任何建议。