专注Java教育14年 全国咨询/投诉热线:400-8080-105
动力节点LOGO图
始于2009,口口相传的Java黄埔军校
首页 学习攻略 Java学习 Java调用js方法

Java调用js方法

更新时间:2022-10-10 10:12:41 来源:动力节点 浏览2147次

以下代码显示了如何从 Java 调用 Javascript 函数

首先,它在 Javascript 文件中定义了四个函数,并将其保存到 c:/Java_Dev/calculator.js 中。

var计算器 =新对象();
计算器.add =函数(n1, n2) n1 + n2; 
计算器.减法 =函数(n1, n2) n1 - n2; 
计算器.乘法 =函数(n1, n2) n1 * n2; 
计算器.除法 =函数(n1, n2) n1 / n2;

然后,使用 eval() 函数加载脚本并获取表示函数的 Object。 

String scriptPath = "c:/Java_Dev/calculator.js" ; 
engine.eval( "load('" + scriptPath + "')" ); 
对象计算器 = engine.get( "计算器" );

最后,通过名称获取函数并传入参数。

对象 addResult = inv.invokeMethod(calculator, "add" , x, y); 
Object subResult = inv.invokeMethod(calculator, "subtract" , x, y); 
Object mulResult = inv.invokeMethod(calculator, "multiply" , x, y); 
对象 divResult = inv.invokeMethod(calculator, "divide" , x, y);

例子

导入javax.script.Invocable;
导入javax.script.ScriptEngine;
导入javax.script.ScriptEngineManager;
/ * w w w . j a v a 2秒。c o m * / public class Main {
   public static void main(String[] args) throws Exception { 
    ScriptEngineManager manager = new ScriptEngineManager(); 
    ScriptEngine 引擎 = manager.getEngineByName( "JavaScript" );
    如果               
   (!(engine instanceof Invocable)) { 
      System.out.println( "不支持调用方法。" );
      返回;
    } 
    Invocable inv = (Invocable) 引擎;
    String scriptPath = "c:/Java_Dev/calculator.js" ; 
    engine.eval( "load('" + scriptPath + "')" ); 
    对象计算器 = engine.get( "计算器" ); 诠释x = 3;
    整数y = 4; 
    对象 addResult = inv.invokeMethod(calculator, "add" , x, y); 
    对象子结果 = inv.invokeMethod(计算器,
    , x, y); 
    Object mulResult = inv.invokeMethod(calculator, "multiply" , x, y); 
    对象 divResult = inv.invokeMethod(calculator, "divide" , x, y); 
    System.out.println(addResult); 
    System.out.println(subResult); 
    System.out.println(mulResult); 
    System.out.println(divResult); 
  } 
}

上面的代码生成以下结果。

这是 c:/Java_Dev/calculator.js 的源代码。

var计算器 =新对象();
计算器.add =函数(n1, n2) n1 + n2; 
计算器.减法 =函数(n1, n2) n1 - n2; 
计算器.乘法 =函数(n1, n2) n1 * n2; 
计算器.除法 =函数(n1, n2) n1 / n2;

以上就是关于“Java调用js方法”的介绍,大家如果对此比较感兴趣,想了解更多相关知识,不妨来关注一下动力节点的Java视频教程,里面的课程内容从入门到精通,细致全面,通俗易懂,很适合没有基础的小伙伴学习,相信对大家一定会有所帮助的。

提交申请后,顾问老师会电话与您沟通安排学习

免费课程推荐 >>
技术文档推荐 >>