执行脚本代码的java引擎--测试代码

来源:互联网 发布:洛瑞16赛季场均数据 编辑:程序博客网 时间:2024/05/16 09:03
public class JSEngineTest{    public static void main(String[] args){        //获得js的一个执行引擎        ScriptEngine js = new ScriptEngineManager().getEngineByName("javascript");        //建立上下文变量并植入相关参数        Bindings bind = js.createBindings();        bind.put("num",1);        //绑定上下文,作用域为当前引擎范围        js.setBindings(bind,ScriptContext.ENGINE_SCOPE);        Scanner in = new Scanner(System.in);        System.out.println("请输入第一个参数:");        int first = in.nextInt();        System.out.println("请输入第二个参数:");        int second = in.nextInt();        //获取js代码文件        js.eval(new FileReader("d://test.js"));         if(js instanceof Invocable){            Invocable invo = (Invocable) js;            //执行js代码中的add函数            Double result = (Double) invo.invokeFunction("add",first,second);            System.out.println("运算结果为:"+result.intValue());        }    }}//test.jsfunction add(a,b){    return a+b-num;}//输入2,3//输出结果为:4
原创粉丝点击