Java执行js脚本
1、//声明是什么类型的脚本
ScriptEngineManager manager = new ScriptEngineManager();
ScriptEngine engine = manager.getEngineByName("js");
2、//编写js方法体
engine.eval("function getTest(){return 520;}");
3、//执行js脚本。
Invocable invocable = (Invocable) engine;
invocable.invokeFunction("getTest");
4、完整方法:
public static void main(String[] args) {
//声明是什么类型的脚本
ScriptEngineManager manager = new ScriptEngineManager();
ScriptEngine engine = manager.getEngineByName("js");
//编写js方法体
try {
engine.eval("function getTest(){return 520;}");
//执行js脚本。
Invocable invocable = (Invocable) engine;
Object object = invocable.invokeFunction("getTest");
System.out.println(object);
} catch (Exception e) {
e.printStackTrace();
}
}

5、可以读取文件路径的方式来加载js。
@Test
public void jsTest() {
//声明是什么类型的脚本
ScriptEngineManager manager = new ScriptEngineManager();
ScriptEngine engine = manager.getEngineByName("js");
//编写js方法体
try {
org.springframework.core.io.Resource rnavJs = new ClassPathResource("/static/nav.js");
engine.eval(new FileReader(rnavJs.getFile()));
//执行js脚本。
Invocable invocable = (Invocable) engine;
Object object = invocable.invokeFunction("myPrint", "wowowo");
System.out.println(object);
} catch (Exception e) {
e.printStackTrace();
}
}

