package com.yeshi.buwan.util; import java.io.FileReader; import javax.script.Invocable; import javax.script.ScriptEngine; import javax.script.ScriptEngineManager; public class ScriptUtil { public static Object excuteJSMehtod(String path, String method, Object... params) throws Exception { ScriptEngineManager manager = new ScriptEngineManager(); ScriptEngine engine = manager.getEngineByName("javascript"); String jsFileName = path; // 读取js文件 FileReader reader = new FileReader(jsFileName); // 执行指定脚本 engine.eval(reader); if (engine instanceof Invocable) { Invocable invoke = (Invocable) engine; // 调用merge方法,并传入两个参数 return invoke.invokeFunction(method, params); } return null; } }