您的位置:

java中调用js脚本(java中调用js脚本获取结果)

java中调用js脚本(java中调用js脚本获取结果)

更新:

本文目录一览:

如何在java中调用js方法

在Java中调用js文件中的function,传入调用参数,并获取返回值

js文件中的merge函数将两个参数a,b相加,并返回c。

// expression.js

function merge(a, b) {

c = a * b;

return c;

}

在Java代码中读取js文件,并参数两个参数,然后回去返回值。

package com.sinaapp.manjushri;

import java.io.FileReader;

import javax.script.Invocable;

import javax.script.ScriptEngine;

import javax.script.ScriptEngineManager;

/** * Java调用并执行js文件,传递参数,并活动返回值 * * @author manjushri */

public class ScriptEngineTest {

public static void main(String[] args) throws Exception {

ScriptEngineManager manager = new ScriptEngineManager();

ScriptEngine engine = manager.getEngineByName("javascript");

String jsFileName = "expression.js"; // 读取js文件

FileReader reader = new FileReader(jsFileName); // 执行指定脚本

engine.eval(reader);

if(engine instanceof Invocable) {

Invocable invoke = (Invocable)engine; // 调用merge方法,并传入两个参数

// c = merge(2, 3);

Double c = (Double)invoke.invokeFunction("merge", 2, 3);

System.out.println("c = " + c);

}

reader.close();

}

}

输出结果:

c = 5.0

java怎么调用javascript

可参考:

package javaIjs;

/**

* @param args

*/

import java.io.FileReader;

import javax.script.Invocable;

import javax.script.ScriptEngine;

import javax.script.ScriptEngineManager;

/**

* Java调用并执行js文件,传递参数,并活动返回值

*

* @author manjushri

*/

public class ScriptEngineTest {

public static void main(String[] args) throws Exception {

ScriptEngineManager manager = new ScriptEngineManager();

ScriptEngine engine = manager.getEngineByName("javascript");

String jsFileName = System.getProperty("user.dir")+"/src/javaIjs/expression.js";

// 读取js文件

FileReader reader = new FileReader(jsFileName);

// 执行指定脚本

System.out.println(engine.getContext().getReader());

engine.eval(reader);

if (engine instanceof Invocable) {

Invocable invoke = (Invocable) engine;

// 调用merge方法,并传入两个参数

// c = merge(2, 3);

Double c = (Double) invoke.invokeFunction("merge1", 21, 3);

System.out.println("c = " + c);

}

reader.close();

}

}

java程序中运行js脚本

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

public class ExecJs {

/**

* 记录日志类

*/

private Logger log = Logger.getLogger(ExecJs.class);

/**

* 后置处理,执行js脚本

* @param js

* @throws Exception

*/

public void execJs(String js, MapString,Object map) throws Exception {

if (log.isDebugEnabled()) {

log.debug("execJs js : " + js);

IteratorEntryString, Object it = map.entrySet().iterator();

while (it.hasNext()) {

EntryString, Object entry = (EntryString, Object) it.next();

log.info("EXECJS MAP : " + entry.getKey() + "---" + entry.getValue());

}// end while

}// end if

if ("".equals(js) || js == null) {

log.info("EXECJS ERROR : JAVASCRIPT CONTENT IS NULL");

} else if(map == null || map.size()=0){

log.info("EXECJS ERROR : MAP CONTENT IS NULL");

} else {

// 获取脚本引擎

ScriptEngineManager mgr = new ScriptEngineManager();

ScriptEngine engine = mgr.getEngineByName("javascript");

// 绑定数据

ScriptContext newContext = new SimpleScriptContext();

Bindings bind = newContext.getBindings(ScriptContext.ENGINE_SCOPE);

bind.putAll(map);

try {

engine.setBindings(bind, ScriptContext.ENGINE_SCOPE);

engine.eval(js);

} catch (Exception e) {

log.info("EXECJS EXCEPTION : EXECUTE JAVASCRIPT EXCEPTION", e);

throw (e);

}// end try

}// end if

}

}

java中调用js脚本(java中调用js脚本获取结果)

本文目录一览: 1、如何在java中调用js方法 2、java怎么调用javascript 3、java程序中运行js脚本 如何在java中调用js方法 在Java中调用js文件中的function,

2023-12-08
java调用js,java调用js脚本

2022-11-28
java里面引用js脚本(用js写脚本)

本文目录一览: 1、java中怎么调用js代码 2、如何把java代码嵌入到javascript中 3、java程序中运行js脚本 4、java怎么调用javascript 5、如何在java中调用j

2023-12-08
js控制java脚本,js 脚本语言

2022-11-25
java程序js脚本(Java脚本)

本文目录一览: 1、java程序中运行js脚本 2、怎么把JS嵌入到Java程序中 3、java脚本里怎么写javascript 4、JS脚本怎么运行? 5、如何在js脚本中写java代码 6、如何把

2023-12-08
java调用js脚本语言(java调用js代码 实例)

本文目录一览: 1、java程序中运行js脚本 2、如何在java中调用js方法 3、java怎么调用javascript java程序中运行js脚本 我们要在Java中执行JavaScriptMet

2023-12-08
js调用linux脚本,js调用linux命令

2022-11-24
java调用js,java调用js方法

2023-01-07
java中使用js处理数据,js获取java变量

本文目录一览: 1、java程序中运行js脚本 2、java使用js处理逻辑 3、如何在java中调用js方法 java程序中运行js脚本 123456789101112131415161718192

2023-12-08
js与java调用,java 调用 js

2022-11-24
js调用java,js调用java类中的方法

2022-11-30
java调用js代码,java调用js代码 实例

本文目录一览: 1、如何在java中调用js方法 2、如何通过java代码调用js 3、java中怎么调用js代码 4、如何在java调用js 5、请问怎么写java调用node环境运行js代码? 如

2023-12-08
java程序执行js脚本(java执行脚本语言)

本文目录一览: 1、如何用java执行指定页面中的js代码 2、如何在java中调用js方法 3、如何通过java代码调用js 4、java程序中运行js脚本 如何用java执行指定页面中的js代码

2023-12-08
js调用python脚本,js调用Python脚本

2022-11-26
java调用js,java调用json接口

2023-01-09
java里可以调用js里的参数吗,js调用java方法

本文目录一览: 1、java 调用 js函数 2、java怎么调用javascript 3、如何在java中调用js方法 4、java如何调用js里的变量 java 调用 js函数 function是

2023-12-08
js中调用java的方法,java调用js代码 实例

本文目录一览: 1、怎么实现javascript中调用java类中的方法 2、如何在JAVASCRIPT调用Android JAVA函数 3、js怎么调用JAVA方法 怎么实现javascript中调

2023-12-08
java中执行js(java中执行sql语句)

本文目录一览: 1、如何在java中调用js方法 2、如何通过java代码调用js 3、java用什么调用js代码 4、java怎么调用javascript 5、java程序中运行js脚本 6、请问怎

2023-12-08
js脚本编程之实战一(js脚本代码大全)

本文目录一览: 1、怎么学好js? 2、JS编程是什么意思? 3、用javascript脚本语言编写一个 计算器计算加减乘除 ? 谢谢,很急!大家帮帮忙呀!!! 4、如何编写一个自动登录的js脚本 怎

2023-12-08
javajs命令(js调用java)

本文目录一览: 1、请问怎么写java调用node环境运行js代码? 2、java课程分享JavaScript代码测试必备的12款工具 3、java程序中运行js脚本 4、如何通过java代码调用js

2023-12-08