1

List<Foo> foos問題なくに送信できる がありますGWT RPC service。しかし、そのリストを新しいオブジェクトにラップすると、起動時に例外が発生します。

subtype MyDTO is not assignable to 'com.google.gwt.user.client.rpc.IsSerializable' or 'java.io.Serializable' nor does it have a custom field serializer (reached via MyDTO)

リスト自体は送信できるのに、ラッパー オブジェクトは送信できないのはなぜですか?

と:

class MyDTO {
    List<Foo> foos; //containing Rectanlges (see below)
    public MyDTO() {}

    List<Foo> getFoos() { return foos; }
    void setFoos(List<Foo> foots) { this.foos = foos; }
}

Foo beeing は次のようなインターフェイスです。

interface Foo {
    abstract int getX();
    abstract void setX(int x);
}

class Rectangle implements Foo {
    private int x;
    public Rectangle() {};

    //impl of foo methods
}

もちろん、この構造はあまり意味がありませんが、私の問題を説明しています。List foos を RPC 経由で送信するだけで、すべて正常に動作します。

foos のリストを保持する MyDTO ラッパーを送信すると、前述の例外がスローされます。ここで何が問題なのですか?

4

1 に答える 1

4

MyDTO を実装しSerializableます。Listデフォルトでシリアライズ可能です。

于 2013-02-05T11:11:36.497 に答える