0

詳細: 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;
    }
}
4

1 に答える 1

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;
}

....
于 2012-06-14T13:43:03.160 に答える