java执行js脚本

    @Test
    public void aa() throws NoSuchMethodException {
        String regular = "function regular(args1){ return 1+args1 ;}";
        ScriptEngine engine = new ScriptEngineManager().getEngineByName("javascript");
        try {
            engine.eval(regular);
            if (engine instanceof Invocable) {
                Invocable invoke = (Invocable) engine;
                String result = invoke.invokeFunction("regular", 1).toString();
                System.out.println(result);
            } else {
                System.out.println("error");
            }
        } catch (ScriptException e) {
            System.out.println("表达式runtime错误:" + e.getMessage());
        }
    }

 

posted @ 2021-09-24 18:39  wujf  阅读(384)  评论(0编辑  收藏  举报