Javascript类和DWR
我使用DWR和转换器已经有一段时间了,我真的很想把我的Java类映射到JavaScript类。使用DWR转换器,我可以选择指出给定Java类的JS构造函数的名称。到现在为止,一直都还不错。。。当我的JS构造函数位于类似JS包的名称中(就像YUI的包系统,例如Javascript类和DWR,java,javascript,ajax,dwr,Java,Javascript,Ajax,Dwr,我使用DWR和转换器已经有一段时间了,我真的很想把我的Java类映射到JavaScript类。使用DWR转换器,我可以选择指出给定Java类的JS构造函数的名称。到现在为止,一直都还不错。。。当我的JS构造函数位于类似JS包的名称中(就像YUI的包系统,例如my.beauty.package.MyClass)时,就会出现问题。DWR的当前实现不允许我使用这种构造,当我尝试使用它时,会给我一个SyntaxError。有没有一种优雅的方法可以绕过这个限制?据我所知,这是不可能直接实现的。在我当前的工
my.beauty.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挂钩,可以让您自动执行此操作。我没有解决方法,但供您参考,有一个公开的问题:如果我错了,并且问题与您描述的不同,请告诉我,我将删除此评论。没错,我想知道他们是否只会为版本3修复它。这里我们使用的是版本2。我做了一件事,我“全球化”了DWR使用的所有必需的构造函数(使用如下的表示法,即我的_beautifuly_package_MyClass),尽管它可以工作,但它并没有那么优雅=/