Java后台调js函数

来源:互联网 发布:js reverse方法 编辑:程序博客网 时间:2024/06/10 22:57

很简单,直接贴代码了。。

//得到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();          }