栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java执行JavaScript代码

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java执行JavaScript代码

我们要在Java中执行JavascriptMethods.js中的execute(s1,s2)方法,JavascriptMethods.js文件内容如下:

function execute(s1, s2){
  return s1 + s2;
}

首先需要定义一个接口,这个接口中给出与要执行的Javascript方法一样的方法签名,我们定义接口Methods,它的内容如下:


public interface Methods {
  public String execute(String s1,String s2);
}

然后,就可以用脚本引擎执行JavascriptMethods.js中execute(s1,s2)方法了,具体内容写在下面的Executescript类中的:

import java.io.FileReader;

import javax.script.Invocable;
import javax.script.scriptEngine;
import javax.script.scriptEngineManager;


public class Executescript {
  public static void main(String[] args) {
    scriptEngineManager manager = new scriptEngineManager();
    scriptEngine engine = manager.getEngineByName("js");
    try {
      String path = Executescript.class.getResource("").getPath();
      System.out.println(path);
      // FileReader的参数为所要执行的js文件的路径
      engine.eval(new FileReader(path + "JavascriptMethods.js"));
      if (engine instanceof Invocable) {
 Invocable invocable = (Invocable) engine;
 Methods executeMethod = invocable.getInterface(Methods.class);
 System.out.println(executeMethod.execute("li", "yuncong"));
      }
    } catch (Exception e) {
      e.printStackTrace();
    }
  }
}

运行Executescript类,输出如下:

/C:/Users/yuncong/git/login/target/classes/executescript/ 
liyuncong

以上就是本文的全部内容,希望对大家的学习有所帮助。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/150368.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号