很简单,直接贴代码了。。
//得到ScriptEngine 对象
ScriptEngineManager manger = new ScriptEngineManager();
ScriptEngine engine = manger.getEngineByName("JavaScript");
// 读js文件
String jsFile = "D:\\Coding\\workspace\\sunEee-Test\\WebContent\\WEB-INF\\js\\index.js";
FileInputStream fileInputStream = new FileInputStream(new File(jsFile));
Reader scriptReader = new InputStreamReader(fileInputStream, "utf-8");
try
{
engine.eval(scriptReader);
if (engine instanceof Invocable)
{
// 调用JS方法
Invocable invocable = (Invocable)engine;
//test为js中的函数名,也可以在test后边","号分割传参数
String result = (String)invocable.invokeFunction("test");
System.out.println(result);
}
}
catch (Exception e)
{
e.printStackTrace();
}
finally
{
scriptReader.close();
}