Java 8 Nashorn 介绍
从JDK6开始,Java就集成Javascript引擎(Rhino),为了提升性能,Nashorn 是java8内置的Javascript引擎,与大名鼎鼎的Google V8 (Chrome和Node.js引擎)竞争,Nashorn完全支持ECMAScript 5.1规范以及一些扩展。。Nashorn扩展java功能,可以动态在jvm中执行Javascript代码。
下面通过示例来说明java可以动态执行Javascript,反之一样。通过这样的功能,我们可以在实际项目业务中集成这样强大的功能。下面是birt开发平台提供的强大表达式编辑界面,用户通过写Javascript脚本实现灵活的业务功能。
从命令行运行Nashorn
Nashorn Javascript引擎可以使用java编程方式运行,也可以通过命令行工具jjs运行。示例如下:
通过java代码调用 ##
import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
import javax.script.ScriptException;
public class NashornDemo {
public static void main(String[] args) throws ScriptException {
ScriptEngine engine = new ScriptEngineManager().getEngineByName("nashorn");
engine.eval("print('Hello World!');");
}
}
输出结果为:Hello World!
也可以直接读取js文件执行。
engine.eval(new FileReader(“bizJs.js”));
更详细的内容,读者可以进一步查阅官方文档。
本文参考链接:https://blog.csdn.net/neweastsun/article/details/53958504