Java 脚本绑定

Java脚本教程 – Java脚本绑定

绑定是一组键/值对,键必须是非空的非空字符串。

Java Bindings是Bindings接口的一个实例。

SimpleBindings类是Bindings接口的一个实现。

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);
  }
}

上面的代码生成以下结果。


例2

要将参数从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);
  }
}

上面的代码生成以下结果。


引擎范围绑定的保留键

通常,引擎范围Bindings中的键表示脚本变量。

下表列出了具有特殊含义的保留键。

常量 含义
“javax.script.argv” ScriptEngine.ARGV 传递Object的数组
“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 脚本语言的短名称
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《Java 脚本绑定》
文章链接:https://zhuji.vsping.com/294090.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。