GWT-RPC応用(1)

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

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

DTO設計の際の注意事項

若干不確定情報がありますが、以下の注意が必要です。
  1. かならずPOJOにする
  2. 引数なしのコンストラクタを用意する
  3. ただし、com.google.gwt.user.client.rpc.IsSerializable インターフェースを実装する
  4. アノテーション等の記述はできない
  5. 定義したクラスは、かならず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にするしかなさそう 


Comments