【问题标题】:Javascript classes and DWRJavascript 类和 DWR
【发布时间】:2010-09-18 20:05:30
【问题描述】:

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

【问题讨论】:

  • 我没有解决方法,但为了您的信息,有一个未解决的问题:bugs.directwebremoting.org/bugs/browse/DWR-103 如果我错了,这与您描述的问题不同,请告诉我我会删除这条评论。
  • 对了,不知道他们会不会只针对版本 3 修复它。这里我们使用版本 2。

标签: java javascript ajax dwr


【解决方案1】:

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

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

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

【讨论】:

  • 我做了一件事,我“全球化”了 DWR 使用的所有需要​​的构造函数,(使用如下符号 my_beautiful_package_MyClass)虽然它有效,但它并不那么优雅 =/
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-06-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-11-19
  • 2010-12-17
相关资源
最近更新 更多