使用Java8的javascript引擎
来源:互联网 发布:小米3怎么用4g网络 编辑:程序博客网 时间:2024/05/17 02:33
import java.io.File;import java.io.FileNotFoundException;import java.io.FileReader;import javax.script.Invocable;import javax.script.ScriptEngine;import javax.script.ScriptEngineManager;import javax.script.ScriptException;public class Nashorn { public static void main(String[] args) { Nashorn nashorn = new Nashorn(); //使用Java8的函数式编程方式的 // :: 方法引用关键字 Converter<String, String> converter = nashorn::InvokeJsFunc; String result = converter.convert("D://testfile/script.js"); System.out.println(result); } public String InvokeJsFunc(String fileName){ ScriptEngine scriptEngine = new ScriptEngineManager().getEngineByName("nashorn"); try { scriptEngine.eval(new FileReader(new File(fileName))); } catch (FileNotFoundException | ScriptException e) { // TODO Auto-generated catch block e.printStackTrace(); } //转换为 Invocable 接口来调用的JS函数的接口 Invocable invocable = (Invocable) scriptEngine; Object result = null; try { //调用的JavaScript的方法 //第一个参数是函数名第二个函数形参 result =invocable.invokeFunction("fun1", "Jhon");// System.out.println(result); } catch (NoSuchMethodException | ScriptException e) { // TODO Auto-generated catch block e.printStackTrace(); } return result.toString(); } @FunctionalInterface interface Converter<F,T>{ T convert(F from); }}
script.js
var fun1 = function(name){ print('Hi there from JavaScript '+name); return "Greetings from JavaScript";};
阅读全文
0 0
- 使用Java8的javascript引擎
- Java8新JavaScript引擎nashorn使用实例
- Java8 Nashorn JavaScript引擎
- java8使用nashorn与javascript直接交互
- Java8 - nashorn引擎
- 学会使用java8的parallelStream
- android java8的使用配置
- java8中lambda的使用
- JavaScript的引擎
- Google V8 JavaScript引擎在服务器端的使用
- turfjs:使用JavaScript编写的模块化地理空间引擎
- laytpl JavaScript模板引擎使用
- 让android studio使用java8及java8的新特性
- Java8 新特性之七---------Nashorn JavaScript引擎、Base64、并行数组
- 功能强大的JavaScript引擎--SpiderMonkey
- 功能强大的JavaScript引擎--SpiderMonkey
- 功能强大的JavaScript引擎--SpiderMonkey
- JavaScript模板引擎的改进
- Cpp调用Log4cpp生成日志
- 杭电1052题解
- Redis持久化机制比对
- ioObjectAndProperties
- 【C#】华南理工大学计算机考研复试题目
- 使用Java8的javascript引擎
- Java后台框架篇--Spring依赖注入和控制反转
- mysql自定义删除数据
- 极管之——PNP与NPN
- 根据一个给定经纬度的点,进行附近500米地点查询–合理利用算法
- POJ 1511
- mac 安装 tensorflow
- 队列篇(一)----环形队列的创建与检测(C++版)
- 最大团问题