Java 腳本綁定

2018-03-18 13:17 更新

Java腳本教程 - Java腳本綁定


綁定是一組鍵/值對,鍵必須是非空的非空字符串。

Java Bindings是Bindings接口的一個實例。

SimpleBindings類是Bindings接口的一個實現(xiàn)。

Bindings接口繼承了 Map< String,Object> 接口。

綁定是一個映射,限制其鍵必須是非空的非空字符串。

例子

import javax.script.Bindings;
import javax.script.SimpleBindings;

public class Main {
  public static void main(String[] args) {
    Bindings params = new SimpleBindings();
    params.put("stringKey", "Hello");
    params.put("valueKey", 2015);

    Object msg = params.get("stringKey");
    Object year = params.get("valueKey");
    System.out.println("stringKey" + msg);
    System.out.println("valueKey = " + year);

    params.remove("valueKey");
    year = params.get("valueKey");

    boolean containsYear = params.containsKey("valueKey");
    System.out.println("valueKey = " + year);
    System.out.println("params contains year = " + containsYear);
  }
}

上面的代碼生成以下結(jié)果。


例2

要將參數(shù)從Java代碼傳遞到腳本引擎,請使用ScriptEngine接口中的createBindings()方法,該方法返回Bindings接口的實例。

import javax.script.Bindings;
import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;

public class Main {
  public static void main(String[] args) {
        ScriptEngineManager manager = new ScriptEngineManager();
        ScriptEngine engine = manager.getEngineByName("JavaScript");

        Bindings params = engine.createBindings();

    params.put("stringKey", "Hello");
    params.put("valueKey", 2015);

    Object msg = params.get("stringKey");
    Object year = params.get("valueKey");
    System.out.println("stringKey" + msg);
    System.out.println("valueKey = " + year);

    params.remove("valueKey");
    year = params.get("valueKey");

    boolean containsYear = params.containsKey("valueKey");
    System.out.println("valueKey = " + year);
    System.out.println("params contains year = " + containsYear);
  }
}

上面的代碼生成以下結(jié)果。


引擎范圍綁定的保留鍵

通常,引擎范圍Bindings中的鍵表示腳本變量。

下表列出了具有特殊含義的保留鍵。

常量含義
"javax.script.argv"ScriptEngine.ARGV傳遞Object的數(shù)組
"javax.script.engine"ScriptEngine.ENGINE腳本引擎的名稱
"javax.script.engine_version"ScriptEngine.ENGINE_VERSION腳本引擎的版本
"javax.script.filename"ScriptEngine.FILENAME傳遞文件的名稱
"javax.script.language"ScriptEngine.LANGUAGE語言的名稱
"javax.script.language_version"ScriptEngine.LANGUAGE_VERSION引擎支持的腳本語言的版本
"javax.script.name"ScriptEngine.NAME腳本語言的短名稱
以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號