java 解析js脚本

JDK6已经支持脚本语言了。写两个测试js的代码。

 

 

import javax.script.Invocable; import javax.script.ScriptEngine; import javax.script.ScriptEngineManager; import javax.script.ScriptException; import org.junit.Test; public class JS { @Test public void js() { // 创建脚本引擎管理器 ScriptEngineManager sem = new ScriptEngineManager(); // 创建一个处理JavaScript的脚本引擎 ScriptEngine engine = sem.getEngineByExtension("js"); try { // 执行js公式 engine.eval("if(6>5){flag=true;}else{flag =false;}"); } catch (ScriptException ex) { ex.printStackTrace(); } // 看看我们预期的反馈结果 true System.out.println((engine.get("flag"))); // 2.创建方法并进行脚本调用(这个是我比较喜欢的一种方式) } @Test public void js2() throws ScriptException, NoSuchMethodException { ScriptEngineManager sem = new ScriptEngineManager(); ScriptEngine engine = sem.getEngineByName("JavaScript"); // 创建脚本 String script = "function max(first,second) " + "{ return (first > second) ?true:false;}"; // 执行脚本 engine.eval(script); Invocable inv = (Invocable) engine; // 执行方法并传递参数 Object obj = inv.invokeFunction("max", "0", "1"); // 打印结果 System.out.println((Boolean) obj == false); } }

 

 

你可能感兴趣的:(JavaScript,java,function,脚本,import,引擎)