Вопрос

Я некоторое время играл с DWR и конвертерами, и мне действительно захотелось сопоставить свои классы Java с классами JavaScript.Используя DWR-конвертеры, у меня есть возможность указать, как называется мой JS-конструктор для данного класса Java.Пока все идет хорошо...Проблема возникает, когда мой конструктор 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