Tag: Func file path Specifies int cat Ade Method TAC Project
In the project, sometimes you need to use the Java call JS file to execute the appropriate method
A new ScriptEngine class was added to JDK1.6, allowing the user to execute the JS code directly.
Importorg.junit.Test;Importjavax.script.Invocable;ImportJavax.script.ScriptEngine;ImportJavax.script.ScriptEngineManager;/** * @authorCeshi * @Title: Junittestjs * @ProjectName Ceshi * @Description: Java Run JS * @date 2018/7/1016:35*/ Public classJunittestjs {@Test Public voidTest () {Scriptenginemanager Manager=NewScriptenginemanager (); ScriptEngine Engine= Manager.getenginebyname ("javascript"); Try{engine.eval ("Function Add (A, B) {" + "return a+b;" + "}"); if(Engineinstanceofinvocable) {invocable in=(invocable) engine; System.out.println (In.invokefunction ("Add",)); } }Catch(Exception e) {e.printstacktrace (); } }}
Ps:engine.eval () can also be read into the JS file path to execute the JS method
String jsname = "Test.js"// read JSnew FileReader (jsname); // execute the specified script Engine.eval (FileReader);
Java Execution JS Code