Frage

Ich habe mit DWR und Wandler für eine Weile zu spielen, und ich wollte wirklich meine Java-Klassen JavaScript-Klassen abzubilden. Mit DWR-Wandler, habe ich die Möglichkeit, zu zeigen, was der Name meines JS Konstruktor eine Java-Klasse gegeben ist. So weit so gut ... Das Problem entsteht, wenn mein JS Konstruktor in einem JS-Paket-wie Namen ist (genau wie YUI Paketsystem, zB my.beautiful.package.MyClass). DWR des aktuelle Implementierung erlaubt mir nicht, diese Art von Konstrukt zu verwenden, mir ein SyntaxError geben, wenn ich versuche, es zu benutzen. Gibt es eine elegante Art und Weise nahe dieser Einschränkung?

War es hilfreich?

Lösung

Soweit ich weiß, ist, die dies nicht direkt möglich. Ich habe in meiner aktuellen Arbeit Projekt mit Verbesserung jedes zurückgegebene Objekt auf der Client-Seite mit Methoden von Java-Script-Klasse experimentiert, die das Ergebnis bekommt, dass ich glaube, Sie sind interessiert an.

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

Ich muß bei der Arbeit am Montag prüfen werde (heute Sonntag ist), dass augmentProto richtiger zu verwenden ist, aber ich denke, es ist. Es kann sogar eine bessere Haken in DWR sein, dass Sie erlauben diese automagically on the fly zu tun.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top