菜单 学习猿地 - LMONKEY

VIP

开通学习猿地VIP

尊享10项VIP特权 持续新增

知识通关挑战

打卡带练!告别无效练习

接私单赚外块

VIP优先接,累计金额超百万

学习猿地私房课免费学

大厂实战课仅对VIP开放

你的一对一导师

每月可免费咨询大牛30次

领取更多软件工程师实用特权

入驻

Java 脚本绑定

原创
05/13 14:22 更新

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

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

图片.png

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

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

图片.png

引擎范围绑定的保留键

通常,引擎范围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 脚本语言的短名称
综合评分:9.9 评分 请对本文进行纠错,及学习过程中有困难疑惑可在此进行讨论