从Java(Groovy)类调用JavaScript函数

9
我有一个很大的javascript函数,它是一个简单的日历转换器。我需要在Java(Groovy)类中使用它的功能。我可以将其重写为groovy,但我想知道是否可以从java(groovy)方法调用javascript函数?我猜功能测试库(如selenium和Canoo)应该有类似的东西,对吗? PS:我不想唤醒真实的浏览器来使用其JS运行环境。
谢谢!
2个回答

8

如其他答案中所提到的,可以使用作为Java 6的一部分提供的脚本API。该API位于javax.script包中。

以下是一个Groovy示例,执行一点Javascript:

import javax.script.*

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

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

engine.eval(javascriptString)  // prints 42

使用Scripting API时,不需要调用浏览器来执行Javascript,但应该记住,特定于浏览器的功能(可能是与DOM相关的功能)将不可用。

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接