从Java(Groovy)类调用javascript函数

从Java(Groovy)类调用javascript函数,java,javascript,groovy,Java,Javascript,Groovy,我有一个javascript函数(非常大!),我需要它在Java(Groovy)类中的功能。这是一个简单的日历转换器。我可以在groovy中重写它,但我只想知道是否可以从java(groovy)方法调用javascript函数?我想像selenium和Canoo这样的功能测试库应该有这样的东西,对吗? PS:我不想为了使用JS运行时环境而唤醒真实世界的浏览器 谢谢,您可以使用Java中JavaScript语言的实现。这里是的示例,但您也可以从groovy执行。如其他答案中所述,可以使用作为包的一

我有一个javascript函数(非常大!),我需要它在Java(Groovy)类中的功能。这是一个简单的日历转换器。我可以在groovy中重写它,但我只想知道是否可以从java(groovy)方法调用javascript函数?我想像selenium和Canoo这样的功能测试库应该有这样的东西,对吗? PS:我不想为了使用JS运行时环境而唤醒真实世界的浏览器


谢谢,

您可以使用Java中JavaScript语言的实现。这里是的示例,但您也可以从groovy执行。

如其他答案中所述,可以使用作为包的一部分提供的,可从Java 6获得

下面是一个执行少量Javascript的Groovy示例:

import javax.script.*

manager = new ScriptEngineManager()
engine = manager.getEngineByName("JavaScript")

javascriptString = """
obj = {"value" : 42}
print(obj["value"])
"""

engine.eval(javascriptString)  // prints 42
在使用脚本API时,不必调用浏览器来执行Javascript,但应该记住,浏览器特定的功能(可能是与DOM相关的功能)将不可用