GWT中是什么IsSerializable?

cod*_*joe 2 gwt serialization gwt-rpc

我的GWT项目中有这个简单的对象.我不能通过电线发送它.将构造函数放在这样的类中是不可能的?

public class MceDto implements IsSerializable {
    public MceDto(String uri, String tag) {
        this.uri = uri;
        this.tag = tag;
    }

    public String uri;

    public String tag;

    public Date created;
}
Run Code Online (Sandbox Code Playgroud)

我检查了*.gwt.rpc策略,对象不在那里意味着它不是可序列化的东西.如何预先知道是否可以序列化对象?

谢谢

Mat*_*all 6

您使用的是什么版本的GWT?

IsSerializable接口是GWT 1.4之前的遗迹.您是否尝试过使用Java标准java.io.Serializable标记接口?

有关更多信息,请参阅此GWT FAQ.


根据GWT序列化文档:

如果满足以下所有条件,则用户定义的类是可序列化的:

  1. 它可以赋值给IsSerializable或者Serializable,因为它直接实现了这些接口之一,或者因为它派生自一个超类
  2. 所有非final,非transient实例字段本身可序列化,和
  3. 从GWT 1.5开始,它必须具有默认(零参数)构造函数(具有任何访问修饰符)或根本没有构造函数.

所以你必须为你的类提供一个no-arg构造函数,以便GWT可以序列化.