咖啡伴侣

呆在上海
posts - 163, comments - 156, trackbacks - 0, articles - 2

java执行脚本语言javascript

Posted on 2010-06-03 15:04 oathleo 阅读(3387) 评论(3)  编辑  收藏 所属分类: Java
version jdk1.6

很早就听说了这个功能一直没仔细看看,尝试了下 功能不错!

    public static void main(String[] args) {
        ScriptEngineManager sem = new ScriptEngineManager();
       
        //添加上下文绑定数据
        SimpleBindings bindings = new SimpleBindings();
        bindings.put("aaa_av", new Double(10000.1));
        bindings.put("bbb_av", new Double(20000.2));
       
        ScriptEngine engine = sem.getEngineByExtension("js");
        engine.setBindings(bindings, ScriptContext.ENGINE_SCOPE);
        try{
            //直接解析
            Object res = engine.eval(" res =  Math.max(aaa_av , bbb_av) + aaa_av");
            System.out.println(res);
           
           
            //创建脚本
            String script = "function getMax() "
                + "{ return Math.max(aaa_av , bbb_av)}";
            //执行脚本
            engine.eval(script);
            Invocable inv = (Invocable) engine;
            //执行方法并传递参数
            Object obj = inv.invokeFunction("getMax", null);
            //打印结果
            System.out.println(obj);

        }catch(Exception ex){
            ex.printStackTrace();
        }
    }

Feedback

# re: java执行脚本语言javascript  回复  更多评论   

2010-06-06 23:09 by 追梦少年
不错啊!!

# re: java执行脚本语言javascript  回复  更多评论   

2010-06-13 00:44 by zcl
不适用!

# re: java执行脚本语言javascript  回复  更多评论   

2010-07-03 10:19 by FineReport——报表技术领跑者
很好!顶了~

只有注册用户登录后才能发表评论。


网站导航: