我一直在玩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