質問

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

役に立ちましたか?

解決

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

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

月曜日(現在は日曜日)に職場でAugmentProtoが正しいものであることを確認する必要がありますが、そうだと思います。 DWRへのより優れたフックがあり、これを自動的にオンザフライで実行することもできます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top