Javascript классы и DWR - PullRequest
       9

Javascript классы и DWR

2 голосов
/ 23 октября 2008

Я некоторое время играл с DWR и конвертерами и очень хотел сопоставить свои классы Java с классами JavaScript. Используя конвертеры DWR, у меня есть возможность указать, как называется мой JS-конструктор, заданный Java-классом. Пока все хорошо ... Проблема возникает, когда мой конструктор JS находится внутри имени пакета, похожего на пакет JS (точно так же, как система пакетов YUI, например, my.beautiful.package.MyClass). Текущая реализация DWR не позволяет мне использовать такую ​​конструкцию, давая мне SyntaxError, когда я пытаюсь ее использовать. Есть ли элегантный способ обойти это ограничение?

1 Ответ

1 голос
/ 26 октября 2008

Насколько я знаю, это невозможно напрямую. В моем текущем рабочем проекте я экспериментировал с улучшением каждого возвращаемого объекта на стороне клиента с помощью методов из класса Javascript, что дает результат, который, я думаю, вас интересует.

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

Мне придется в понедельник на работе (сейчас воскресенье) проверять, правильно ли использовать augmentProto, но я думаю, что это так. Может даже быть лучше подключить DWR, что позволит вам делать это на лету автоматически.

...