Как выполнить файл JavaScript в Java8 с помощью Nashorn - PullRequest
0 голосов
/ 08 мая 2018

Я хочу вызвать Javascript внутри моего класса Java, но не могу найти правильный путь. Я где-то читал, что это можно сделать с помощью Nashorn. Может кто-нибудь, пожалуйста, дайте мне знать точный путь.

1 Ответ

0 голосов
/ 08 мая 2018

Вы можете вызвать JavaScript с помощью «ScriptEngineManager», как показано ниже.

ScriptEngineManager scriptEngineManager = new ScriptEngineManager();
    ScriptEngine engine = scriptEngineManager.getEngineByName("nashorn");
    try {
        engine.eval(new FileReader("src\\demo.js"));
        Invocable invocable = (Invocable)engine;
        Object result = invocable.invokeFunction("fun1", "User");
        System.out.println(result);

    } catch (ScriptException e) {
        e.printStackTrace();
    }

А у вас JS-файл demo.js будет выглядеть примерно так:

var fun1 = function(name){
print('Hi,'+name);
return "Greeting from javascript";
}
...