Rumah > hujung hadapan web > tutorial js > 如何在java程序中运行js的代码分享

如何在java程序中运行js的代码分享

零到壹度
Lepaskan: 2018-04-14 15:10:31
asal
1894 orang telah melayarinya

本篇文章给大家分享的内容是如何在java程序中运行js的代码分享,有着一定的参考价值,有需要的朋友可以参考一下

1.6版本中增加了ScriptEngine可以直接运行js代码

1、直接写js代码

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

import javax.script.ScriptEngine;

import javax.script.ScriptEngineManager;

import javax.script.ScriptException;   /**  * 直接调用js代码  */

public class ScriptEngineTest {   

public static void main(String[] args) {

  ScriptEngineManager manager = new ScriptEngineManager();

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

     try{   

          engine.eval("var a=3; var b=4;print (a+b);");

         // engine.eval("alert(\"js alert\");");    // 不能调用浏览器中定义的js函数 // 错误,会抛出alert引用不存在的异常

 }catch(ScriptException e){

 e.printStackTrace();

 }

 }  

}

Salin selepas log masuk


2、调用function

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

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(); 

 

  }

}

Salin selepas log masuk


js文件

1

2

3

4

5

// expression.js

function merge(a, b) {

 c = a * b;

 return c;

}

Salin selepas log masuk


相关推荐:

Java直接运行JavaScript代码或js文件

在Java中直接调用js代码

java调用javascript文件方法

JAVA在服务器后端直接运行JavaScript方法

Atas ialah kandungan terperinci 如何在java程序中运行js的代码分享. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan