编程语言
首页 > 编程语言> > javascript-如何直接初始化Nashorn上下文和引擎?

javascript-如何直接初始化Nashorn上下文和引擎?

作者:互联网

我正在尝试直接从jdk.nashorn.*名称空间初始化Oracle的javascript nashorn引擎.
(nashorn库是2013年1月的测试版).

有一个Web示例,使用javax.script.ScriptEngineManager实用程序类调用Nashorn引擎的引擎实例.

var engine = ScriptEngineManager.getEngineByName(*)

但是,我想远离ScriptEngineManager,所以我需要以Rhino可以直接调用的方式直接调用engine.

Context cx = Context.enter();
Scriptable scope = cx.initStandardObjects();

如何直接创建nashorn引擎实例?

解决方法:

按应用程序/ javascript Hashorn类型的javax脚本引擎,取回脚本引擎并告诉其执行操作,它还提供了可调用和可编译的接口.

您可能有兴趣阅读:How can I start coding with Oracle’s Nashorn JS Engine and when will it replace Rhino in the OpenJDK?

用法示例:

import javax.*; //lib imports
// we should use the javax.script API for Nahsorn
ScriptEngineManager m = new ScripteEngineManager(); 
ScriptEngine e = m.getEngineByname("nashorn");
try {
   e.eval("print('hello nashorn !')");
} catch(Exception e) {
  // using jdk lower then version 8 maybe ?
}

标签:nashorn,javascript
来源: https://codeday.me/bug/20191031/1974274.html