2

我一直在使用 DWR 和转换器,我真的很想将我的 Java 类映射到 JavaScript 类。使用 DWR 转换器,我可以选择指出给定 Java 类的 JS 构造函数的名称。到目前为止一切顺利...当我的 JS 构造函数位于类似 JS 包的名称中时(就像 YUI 的包系统,例如my.beautiful.package.MyClass),问题就出现了。DWR 当前的实现不允许我使用这种构造,SyntaxError当我尝试使用它时给了我一个。有没有一种优雅的方式来解决这个限制?

4

1 回答 1

1

据我所知,这是不可能直接的。在我当前的工作项目中,我尝试使用 Javascript 类中的方法增强客户端的每个返回对象,这得到了我认为您感兴趣的结果。

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

我必须在周一(现在是周日)上班时检查 augmentProto 是否正确,但我认为它是正确的。甚至可能有一个更好的 DWR 挂钩,可以让您在运行中自动执行此操作。

于 2008-10-26T10:45:48.417 回答