GWT-RPC応用(1)

データクラス(DTO)の授受を行う

上記の例では、メソッドの引数も戻り値もStringクラスでした。しかし、本格的なプログラミングになると、受け渡しするデータは1つだけではありません。また、GWT-RPCではリモートサービスメソッドに渡す引数の数は1つだけです。オブジェクト指向プログラミングでは、データの集合をクラスとみなします。つまり、データの授受を行うデータクラス(DTO:Data Transfer Object)を定義し、それをメソッドの引数ならびに戻り値に設定すればOKです。

DTO設計の際の注意事項

若干不確定情報がありますが、以下の注意が必要です。

    1. かならずPOJOにする
  1. 引数なしのコンストラクタを用意する
    1. ただし、com.google.gwt.user.client.rpc.IsSerializable インターフェースを実装する
    2. アノテーション等の記述はできない
    3. 定義したクラスは、かならずclientパッケージに入れる。

2と4は重要です。2について補足しますが、例えば以下のようにします。

import com.google.gwt.user.client.rpc.IsSerializable;

public class user implements IsSerializable {

private Integer id;

private String name;

public Integer getId() {

return id;

}

public void setId(Integer id) {

this.id = id;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

}

RPCで渡すデータBeanで使えないクラス

    • URLクラスは渡せないので、Stringにするしかなさそう