欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

java运行js代码 JDK1.8中如何用ScriptEngine动态执行JS

程序员文章站 2022-03-04 11:13:44
...

文章目录

 


前言

jdk1.6开始就提供了动态脚本语言诸如JavaScript动态的支持:”ScriptEngine“。

ScriptEngine功能强大,基本能实现笔者所能想到的Java与JavaScript交互的需求。而且十分的方便简洁。jdk1.8又对ScriptEngine接口进行了一定改变,因此,在jdk1.8能运行的代码,在1.6中可能会报错,反之亦然。


 

一、ScriptEngine是什么?

使用Java自带的ScriptEngine可以说是最完美的Java动态执行代码方案之一(不考虑代码热更新等场景),关于ScriptEngine网上有大量资料可供参考,这里就不附参考资料了,简单提供下一个使用JS Engine的例子:

二、使用步骤

1.引入库

代码如下(示例):

import numpy as np import pandas as pd import matplotlib.pyplot as plt import seaborn as sns import warnings warnings.filterwarnings('ignore') import ssl ssl._create_default_https_context = ssl._create_unverified_context 

2.读入数据

代码如下(示例):

data = pd.read_csv( 'https://labfile.oss.aliyuncs.com/courses/1283/adult.data.csv') print(data.head()) 

该处使用的url网络请求的数据。


总结

提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。

//声明是什么类型的脚本

ScriptEngineManager manager = new ScriptEngineManager();
ScriptEngine engine = manager.getEngineByName("js");


//2编写js方法体  或者从文件中获取
//Resource rnavJs = new ClassPathResource("a.js");

File file = new File("D:\\a.js");
engine.eval(new FileReader(file));

//engine.eval("function getTest(){return 520;}");


//3执行js脚本。
Invocable invocable = (Invocable) engine;

Object getTest = invocable.invokeFunction("getTest");
System.out.println(getTest);

 

相关标签: java java js