zoukankan      html  css  js  c++  java
  • java对脚本语言的支持(如: ruby, groovy, javascript)

    本文讲解Scripting API

    Scripting API是用于在Java里面编写脚本语言程序的API, 在Javax.script中可以找到Scripting API,我们就是用这个API来编写JavaScript程序,这个包里面有一个ScriptEngineManager类,它是使用Scriptng API 的入口,ScriptEngineManager可以通过Jar服务发现(service discovery)机制寻找合适的脚本引擎类(ScriptEngine),使用Scripting API的最简单方式只需下面三步
    1、创建一个ScriptEngineManager对象
    2、通过ScriptEngineManager获得ScriptEngine对象
    3、用ScriptEngine的eval方法执行脚本

    示例代码:

    import javax.script.Invocable;
    import javax.script.ScriptEngine;
    import javax.script.ScriptEngineManager;
    
    public class Test {
        public static void main(String[] args){
            ScriptEngineManager factory = new ScriptEngineManager();
            ScriptEngine engine = factory.getEngineByName("JavaScript");
            String script;
            try {
                script = "print('Hello')";
                engine.eval(script);// 执行脚本
                script = "1-23*9/3+77";
                System.out.println(engine.eval(script).toString());// 不用对字符串做解析便可得到算式结果
                engine.put("a", "一个字符串");
                script = "print(a)";
                engine.eval(script);// 脚本调用java对象
                script = "function hello(name) { return 'Hello,' + name;}";
                engine.eval(script);
                Invocable inv = (Invocable) engine;
                System.out.println(inv.invokeFunction("hello", "Scripting"));//java调用脚本方法
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    
    }
    

    输出结果:

    Hello
    9
    一个字符串
    Hello,Scripting
    

      

  • 相关阅读:
    杨辉三角形II(Pascal's Triangle II)
    easyUI DataGrid 分页
    var, object, dynamic的区别以及dynamic的使用
    如何防止程序多次运行
    HTTP报文
    值类型,引用类型,栈,堆,ref,out
    Robotlegs框架1.5简介
    TOGAF架构内容框架之内容元模型(下)
    ZOJ 1204 一个集合能组成多少个等式
    画透明位图
  • 原文地址:https://www.cnblogs.com/tianchao/p/11791734.html
Copyright © 2011-2022 走看看