代码之家  ›  专栏  ›  技术社区  ›  Pablo Cabrera

Javascript类和DWR

  •  2
  • Pablo Cabrera  · 技术社区  · 17 年前

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

    1 回复  |  直到 17 年前
        1
  •  1
  •   Gareth Davis    17 年前

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

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

    我必须在周一(现在是周日)的工作中检查augmentProto是否正确使用,但我认为它是正确的。甚至可能有一个更好的DWR挂钩,可以让你在飞行中自动完成这项工作。