GWT中是什么IsSerializable?

时间:2011-03-21 14:49:18

标签: serialization gwt 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;
}

我检查了* .gwt.rpc政策并且该对象不存在意味着它不可序列化或其他东西。如何预先知道是否可以序列化对象?

谢谢

1 个答案:

答案 0 :(得分:6)

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

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

有关详情,请参阅this GWT FAQ


根据GWT serialization docs

  

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

     
      
  1. 可分配给IsSerializableSerializable,因为它直接实现其中一个接口,或者因为它来自一个超类
  2.   
  3. 所有非final,非transient实例字段本身都是可序列化的,
  4.   
  5. 从GWT 1.5开始,它必须有一个默认(零参数)构造函数(带有任何访问修饰符)或根本没有构造函数。
  6.   

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