質問
私はしばらくの間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へのより優れたフックがあり、これを自動的にオンザフライで実行することもできます。
所属していません StackOverflow