ScriptEngine 如何添加变量
时间: 2024-03-27 15:35:10 浏览: 221
Java使用ScriptEngine说明
在使用 ScriptEngine 执行脚本时,可以通过 ScriptContext 对象来设置变量。可以使用 ScriptEngine 的 `getContext()` 方法获取当前的 ScriptContext 对象,然后使用 `setAttribute()` 方法来设置变量。具体代码如下:
```java
// 获取 ScriptEngine 对象
ScriptEngine engine = new ScriptEngineManager().getEngineByName("JavaScript");
// 创建一个新的 ScriptContext 对象
ScriptContext context = new SimpleScriptContext();
// 设置变量
context.setAttribute("x", 10, ScriptContext.ENGINE_SCOPE);
context.setAttribute("y", 20, ScriptContext.ENGINE_SCOPE);
// 执行脚本
engine.eval("var z = x + y;", context);
// 获取变量
Object z = context.getAttribute("z", ScriptContext.ENGINE_SCOPE);
System.out.println(z); // 输出 30
```
在上面的代码中,我们首先获取了一个 JavaScript 引擎对象,然后创建了一个新的 ScriptContext 对象,并通过 `setAttribute()` 方法设置了两个变量 `x` 和 `y`。接着,我们执行了一个简单的脚本,将 `x` 和 `y` 相加并将结果赋给了变量 `z`,然后通过 `getAttribute()` 方法获取了变量 `z` 的值并打印出来。
阅读全文