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

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM