要从JS调用Java,您可以使用Java.type
。有没有办法在Bindings中绑定java类?nashorn用绑定替换Java.type
所以更换:
scriptEngine.eval("Java.type('my.own.AwesomeObj')");
的东西,如:
Bindings bindings = new SimpleBindings();
bindings.put("AwesomeObj", my.own.AwesomeObj.class);
scriptEngine.setBindings(bingings, ScriptContext.GLOBAL_SCOPE);
我工作的一个框架,我要赚很多的可用于JS脚本类,最好不使用字符串连接和评估。目前它抛出一个异常的消息:AwesomeObj不是一个函数,有什么意义。
感谢Attila的回答!我在调查过程中发现了StaticClass,它现在是内部的悲哀,也许以后会有一个更好的接口,可以在内核中使用。我会去'每班学习'选项。 – Kalidasya 2014-09-20 17:06:52
完美适用于枚举thx! – 2017-05-15 20:51:05