国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

Java執(zhí)行JavaScript代碼

2019-11-26 14:28:30
字體:
供稿:網(wǎng)友

我們要在Java中執(zhí)行JavaScriptMethods.js中的execute(s1,s2)方法,JavaScriptMethods.js文件內(nèi)容如下:

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

首先需要定義一個接口,這個接口中給出與要執(zhí)行的JavaScript方法一樣的方法簽名,我們定義接口Methods,它的內(nèi)容如下:

/** * 接口中的方法簽名必須與要執(zhí)行的JavaScript方法一致 * @author yuncong * */public interface Methods {  public String execute(String s1,String s2);}

然后,就可以用腳本引擎執(zhí)行JavaScriptMethods.js中execute(s1,s2)方法了,具體內(nèi)容寫在下面的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的參數(shù)為所要執(zhí)行的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

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 百色市| 隆安县| 仁布县| 黔南| 盱眙县| 汶川县| 双江| 阿合奇县| 遂宁市| 乌兰察布市| 新和县| 望城县| 台江县| 堆龙德庆县| 万荣县| 呼图壁县| 固阳县| 昂仁县| 平邑县| 建昌县| 雷山县| 平乡县| 莲花县| 丘北县| 新绛县| 菏泽市| 弥勒县| 广河县| 龙门县| 城步| 吉安市| 甘泉县| 康乐县| 伊宁县| 蛟河市| 富民县| 桓仁| 萍乡市| 嘉峪关市| 双桥区| 尼木县|