0

フレックスリモーティングを学ぼうとして、これに出くわしました

flexService.getRules.addEventListener(ResultEvent.RESULT, loadRules);

ここで、flexServiceはリモートJavaオブジェクトです..上記の関数呼び出しでは、ResultEvent.RESULTが発生するときに誰でも助けてくれます。ASドキュメントのResultEventについて調べると、次のように記載されています。

RPC操作が正常に結果を返したことを示すイベント

したがって、私の推測では、flexService.getRulesメソッドがオブジェクトのリストを正常に返すときにResultEventが発生します。ここで、flexServiceは、オブジェクトのリストを返すgetRules関数を持つリモートクラスFlexServiceのオブジェクトです。動作します..また、eventListenerをオブジェクトのリストに追加する方法を1つのplzで教えてもらえますか

PS:私はSpringをバックエンドとして使用しています

4

2 に答える 2

0

ここでは、結果を arraycollection に設定します

private function loadRules(event:ResultEvent):void
{
    var list:ArrayCollection = new ArrayCollection();
    list = event.result as ArrayCollection;
}
于 2011-08-08T15:48:47.297 に答える
0

あなたはどうやら、より多くのコードを表示したり、適切な情報を提供したりすることに熱心ではないので、私は仮定に進みます。

  • 「flexService」は、RemoteObject必要なすべてのプロパティ(宛先、エンドポイントなど)を設定したものであると想定しています
  • 「getRules」は、必要な情報を返す Java リモート クラスで使用可能な関数であると想定しています。
  • すべてが AMF を使用して送信されていると想定しています。

その場合、これを行うのと同じくらい簡単です:

var token:ASyncToken = flexService.getRules(arg1, arg2);
token.addResponder(new Responder(yourResultFunction, yourFaultFunction));

private function yourResultFunction(data:Object):void
{
   // Do something with data here
}

private function yourFaultFunction(fault:Object):void
{
   // do something if a fault happens
}

もちろん、これは非常に基本的なものであり、より適切なパターン (コマンド) を実装するようにしてください。

于 2011-08-09T01:43:30.397 に答える