public class JsEngineWrapper extends Object
| 构造器和说明 |
|---|
JsEngineWrapper()
创建一个 JS 引擎的包装器
|
JsEngineWrapper(ScriptEngine engine)
必须依赖一个原生 engine 对象
|
| 限定符和类型 | 方法和说明 |
|---|---|
<T> T |
call(String method,
Class<T> clazz,
Object binding,
Object... args)
调用脚本的方法
|
static ScriptEngine |
engineFactory()
创建 js 引擎工厂,支持 java 6/7 的 rhino 和 java 8 的 nashorn
|
Object |
eval(String code)
执行 js 代码,不作类型转换(返回 Object)
|
<T> T |
eval(String code,
Class<T> clazz)
执行 js 代码
|
Object |
get(String... namespace)
获取 js 的对象,如果最后一个不是对象,返回 Object,之前的为 NativeObject
|
ScriptEngine |
getEngine()
返回 js 引擎
|
JsEngineWrapper |
load(Class<?> clazz,
String fileName)
加载某个类下面的 js 文件,可以链式调用这个方法加载多个 js 文件
|
JsEngineWrapper |
load(String path)
加载 js 文件,可以链式调用这个方法加载多个 js 文件
|
void |
put(String varName,
Object obj)
在 Java 中向脚本引擎 (Script Engine) 传递变量,即脚本语言中可以得到来自 java 的变量。
|
void |
setEngine(ScriptEngine engine)
保存 js 引擎
|
public JsEngineWrapper()
public JsEngineWrapper(ScriptEngine engine)
engine - JVM 脚本引擎public ScriptEngine getEngine()
public void setEngine(ScriptEngine engine)
engine - js 引擎public static ScriptEngine engineFactory()
public JsEngineWrapper load(String path)
path - js 文件完整路徑public JsEngineWrapper load(Class<?> clazz, String fileName)
clazz - 该类目录下面必须有目标 js 文件fileName - js 文件名public <T> T call(String method, Class<T> clazz, Object binding, Object... args)
T - 目标method - js 脚本代码clazz - 目标类型binding - 可以为 null,则表示调用全局方法args - 参数列表public void put(String varName, Object obj)
varName - 变量名obj - 变量值public Object get(String... namespace)
namespace - JS 对象的 keypublic <T> T eval(String code, Class<T> clazz)
T - 目标code - 任意 js 代码clazz - 返回的类型。当 clazz = null 时永远返回 null,表示只是执行,不要求返回结果。可理解为 return
void。如果想有返回值,至少有个 clazz = Object.classCopyright © 2013–2021 AJAXJS. All rights reserved.