GWT可序列化对象

时间:2012-06-14 13:28:09

标签: gwt serialization

详细信息:我想我从rpc返回一个无效的对象列表。 我认为它的类型不能序列化..有没有人知道序列化的方法?或者一些解决方法?

我有一个无法序列化的类我遇到以下异常: 原因: "com.google.gwt.user.client.rpc.SerializationException: Type 'gwt.client.objects.NamedObject' was not included in the set of types which can be serialized by this SerializationPolicy or its Class object could not be loaded. For security purposes, this type will not be serialized.: instance = gwt.client.objects.NamedObject@613bc2a6"

这是'NamedObject'类源代码,它是关于我返回List的全部内容。

public class NamedObject<T> implements Serializable {
    private String name;
    private T object;

    public void setNamedObject(String name, T object){
    setName(name);
    setObject(object);
    }
    public String getName() {
        return name;
    }

    public Object getObject() {
        return object;
    }
}

1 个答案:

答案 0 :(得分:1)

你的对象参数是T类型,它可以是任何东西,特别是GWT不知道如何序列化的东西。

你可以试试这个

public class NamedObject<T extends IsSerializable> implements Serializable {
...
}

虽然我不确定它会起作用。如果没有,您可能必须为T可以为每种类型创建多个类:

public class StringNamedObject implements Serializable {
    private String name;
    private String object;
}

public class DateNamedObject implements Serializable {
    private String name;
    private Date object;
}

....