java如何调用js方法

内容摘要
js方法如下:function add(a,b){
return a + b + number;
}调用方法如下:(免费学习视频教程分享:java视频教程)package com.cgnb.dataqualitymng;

import java.io.FileReader;
文章正文

js方法如下:

1
2
3
function add(a,b){
    return a + b + number; 
}

调用方法如下:(免费学习视频教程分享:java视频教程)

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
package com.cgnb.dataqualitymng;
  
import java.io.FileReader;
import java.util.Scanner;
  
import javax.script.Bindings;
import javax.script.Invocable;
import javax.script.ScriptContext;
import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
  
public class ExecuJs {
    public static void main(String[] args) throws Exception {
  
        // 获取JS执行引擎
        ScriptEngine se = new ScriptEngineManager().getEngineByName("javascript");
        // 获取变量
        Bindings bindings = se.createBindings();
        bindings.put("number", 3);
        se.setBindings(bindings, ScriptContext.ENGINE_SCOPE);
        Scanner sc = new Scanner(System.in);
        while (sc.hasNextInt()) {
            int a = sc.nextInt();
            int b = sc.nextInt();
            System.out.println("输入的参数【" + a + "】 + 【" + b + "】");
            se.eval(new FileReader("D:desk  est.js"));
            // 是否可调用
            if (se instanceof Invocable) {
                Invocable in = (Invocable) se;
                Integer result = (Integer) in.invokeFunction("add", a, b);
                System.out.println("获得的结果:" + result);
                 
            }
  
        }
  
    }
}

调用结果如图:

2975e15ccd1832c78870d5d1c403cbc.png

相关文章教程推荐:java入门教程

代码注释
[!--zhushi--]

作者:喵哥笔记

IDC笔记

学的不仅是技术,更是梦想!