0

私は GWT RequestFactory を使用しており、クライアント側のパラメーターをサービスで転送したいと考えています。パラメータはドメイン モデルの一部ではなく、データベースに保存されないため、クライアントで作成する必要があります。残念ながら、パラメーターとして使用できるのは xxxProxy オブジェクトのみであり、サーバー上でしか作成できないため、これを行う方法が見つかりませんでした。

私の具体例:

サーバーからタスクをダウンロードし、ロードするタスク オブジェクトを指定するパラメーターとしてリクエストを含むフィルター オブジェクトを送信したいと考えています。

ご協力いただきありがとうございます!

4

1 に答える 1

3

create()のメソッドを使用して、クライアント上でプロキシを作成できますRequestContext。あなたの場合、プロキシValueProxyEntityProxy. 値プロキシを「保存」する必要はありません (エンティティ プロキシとは異なります)。

私はあなたとまったく同じユースケースを持っていますが、それは非常にうまく機能します。

@Service(MyService.class)
interface MyRequestContext extends RequestContext {
   Request<List<TaskProxy>> findTasks(FilterProxy filter);
}

@ProxyFor(Filter.class)
interface FilterProxy extends ValueProxy {
   // your getters and setters here
}

...

MyRequestContext ctx = ...;
FilterProxy filter = ctx.create(FilterProxy.class);
filter.setXxx(...);
// set your other filter
ctx.findTasks(filter).fire(new Receiver<List<TaskProxy>>() {
   @Override
   public void onSuccess(List<TaskProxy> tasks) {
     // ...
   }
});

補足として、「パラメーターとして使用できるのは xxxProxy オブジェクトのみ」と書いていましたが、これは誤りです。intプリミティブ型 ( 、booleanなど)、それらのラッパー型 ( IntegerBooleanなど)、StringDate、およびそれら (ListまたはSetプロキシ型) をうまく使用できます。

于 2011-09-15T08:03:51.980 に答える