【发布时间】:2011-04-26 07:37:06
【问题描述】:
我正在尝试为自定义集合对象调用构造函数。这个自定义对象接受一个 Class 类型的参数。
在java中,这样做是这样的:
ICollection col = new PersistentCollection(ContentX.class);
这是我第一次深入了解 rhino,但我还没有弄清楚如何传递这个参数。我发现“class”是一个保留字,因此不可用。
我想我可以像这样从 Class.forName 获取 Class:
importPackage(Packages.something.collections);
importPackage(Packages.something.content4);
var col = new PersistentCollection(Class.forName(ContentX));
但它只是抛出 ClassNotFoundException - 使用完全限定的路径 something.content4.ContentX!所以很明显它找到了这个类,否则它就不会知道它的路径。
我做错了吗?遗憾的是,我现在无法更改 java 库,我需要在没有新部署的情况下修复数据。
在谷歌上搜索 javascript 类只会产生 DOM/CSS 问题。
【问题讨论】:
-
Javascript 是如何参与其中的?
-
QPekka 他正在使用来自 JDK 6 的 Rhino(在这里猜测)——它与发行版一起打包并且非常易于使用
-
@Jörgen 我刚刚尝试了来自“jrunscript”的
var c = java.lang.Class.forName("java.util.HashMap"),它工作得很好。 -
@Pointy 那么它就可以使用了。似乎 Rhino 会使用与系统其他部分不同的类路径。
-
我想变得有趣,但似乎没有。 :P
标签: java javascript rhino