提示:使用Java调用js简单的可以通过Java环境自有的或者v8,但我没找到怎么调用document和window这两个环境变量,我直接调用node环境,在node环境中添加jsdom来创建所需环境变量
前言
Java调用node环境
一、使用步骤
1.安装node环境,注意配置NODE_PATH环境变量,否则安装的jsdom找不到
node -v
npm -v
npm install --no-fund jsdom
2.js文件实例
const jsdom = require("jsdom");
const {JSDOM} = jsdom;
const dom = new JSDOM(`<!DOCTYPE html><p>Hello world</p>`);
window = dom.window;
document = window.document;
XMLHttpRequest = window.XMLHttpRequest;
function token(e) {
console.log(e);
return e
}
module.exports = {
l_token: token(20)
};
3.java代码实例,自动执行js导出的方法
// 指定 Node.js 脚本文件路径
String scriptPath = String.valueOf(Paths.get("js.js"));
// 构建命令
ProcessBuilder processBuilder = new ProcessBuilder("node", scriptPath);
// 执行命令
Process process = processBuilder.start();
// 获取命令输出
InputStream inputStream = process.getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
String line;
StringBuilder output = new StringBuilder();
while ((line = reader.readLine()) != null) {
output.append(line).append("\n");
}
// 打印输出结果
System.out.println(output.toString());