2

私はGWTPでGWT2.3を使用しています。このアプリケーションでは、プレゼンター以外のクラスからサーバー側の呼び出しを行う必要があります (したがって、dispatch async インスタンスはありません)。これが私のクラスです

public class NameTokenHandler implements ValueChangeHandler<String> {
    @Inject
    DispatchAsync dispatchAsync;
    @Override
    public void onValueChange(ValueChangeEvent<String> event) {
        if (event != null) {
            String nameToken = event.getValue();

            if(dispatchAsync!=null)
            {
                System.out.println("yes");
            } else {
                System.out.println("No");
            }

            History.newItem(nameToken);
        }
    }
}

ここで、dispatchAsync は常に null です。サーバー側の呼び出しを行うことができるように、初期化する必要がある場所から取得しています。他に方法があれば教えてください。前もって感謝します。

4

1 に答える 1

2

を注入する必要があるNameTokenHandlerため、ディスパッチャも注入されます。

public class C {

  private NameTokenHandler handler;

  @Inject
  public C(NameTokenHandler handler) {
    this.handler = handler;
  }

}

このようにして、ハンドラーがCクラスに注入され、ディスパッチャーもNameTokenHandler. NameTokenHandlerところで、同じパターン(DispatchAsyncパラメーターとして)に従うコンストラクターが必要になる場合があります。

于 2011-09-12T13:37:53.460 に答える