2

私はしばらくの間DWRとコンバーターで遊んでいて、JavaクラスをJavaScriptクラスにマップしたかったのです。DWRコンバーターを使用して、Javaクラスで指定されたJSコンストラクターの名前を指摘するオプションがあります。これまでのところ良い...問題は、JSコンストラクターがJSパッケージのような名前の中にある場合に発生します(たとえば、YUIのパッケージシステムのようにmy.beautiful.package.MyClass)。DWRの現在の実装では、この種の構成を使用することはできませんSyntaxError。これを使用しようとすると、時間が発生します。この制限を回避するエレガントな方法はありますか?

4

1 に答える 1

1

私の知る限り、これは直接不可能です。私は現在の作業プロジェクトで、クライアント側で返された各オブジェクトを Javascript クラスのメソッドで強化することを実験しました。これにより、あなたが興味を持っていると思われる結果が得られます。

DwrService.getThings({
  callback:function(things){
    for(thing in things){
      YAHOO.augmentProto(thing, my.beautiful.package.MyClass);
    }
    // do your stuff here
  }
});

月曜日 (今は日曜日) に、augProto を使用するのが正しいかどうかを職場で確認する必要がありますが、正しいと思います。これをオンザフライで自動的に実行できるようにする、DWR へのより優れたフックさえあるかもしれません。

于 2008-10-26T10:45:48.417 に答える