How can I run JavaScript code at server side Java code?

前端 未结 6 1522
爱一瞬间的悲伤
爱一瞬间的悲伤 2020-12-09 18:45

I want to run JavaScript code at the server side. I want to manipulate result returned by JavaScript inside my Java code. How can it be done?

6条回答
  •  忘掉有多难
    2020-12-09 19:12

    This example should clearly state how to load, evaluate and execute a Javascript function in Java:

    ScriptEngineManager factory = new ScriptEngineManager();
    ScriptEngine engine = factory.getEngineByName("JavaScript");
    URI source_js = JavascriptExecutor.class.getResource("/file.js").toURI();
    String source_text = Files.readAllLines(Paths.get(source_js)).stream().collect(Collectors.joining("\n"));
    engine.eval(source_text);
    Invocable inv = (Invocable) engine;
    Object returnValue = inv.invokeFunction("functionJsName", "functionJsParameter");
    System.out.println(returnValue.toString());
    

提交回复
热议问题