Вызовите функцию JavaScript от Java (Groovy) класс

У меня есть функция JavaScript (очень большой!), что мне нужна его функциональность в Java (Groovy) класс. Это - простой календарный преобразователь. Я могу переписать его в отличном, но просто хотеть знать, возможно ли вызвать функцию JavaScript от Java (отличный) метод? Я предполагаю библиотеки функционального тестирования как селен, и Canoo должен иметь что-то вроде этого, действительно ли я прав? PS: Я не хочу будить реальный браузер для использования его ENV во время выполнения JS.

Спасибо,

9
задан ashkrosh 24 April 2010 в 12:16
поделиться

2 ответа

Как упоминалось в других ответах, можно использовать Scripting API , предоставляемый как часть javax.script пакет, доступный на Java 6.

Ниже приведен пример Groovy, который выполняет небольшую часть Javascript:

import javax.script.*

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

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

engine.eval(javascriptString)  // prints 42

Нет необходимости вызывать браузер для выполнения Javascript при использовании Scripting API, но следует имейте в виду, что функции, специфичные для браузера (возможно, функции, связанные с DOM), будут недоступны.

8
ответ дан 4 December 2019 в 22:27
поделиться

Вы можете использовать Rhino, реализацию языка JavaScript в Java. Вот пример вызова функции JavaScript из java, но вы можете сделать это и из groovy.

0
ответ дан 4 December 2019 в 22:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: