在Java中執行JavaScript代碼
我們要在Java中執行中的execute(s1,s2)方法,文件內容如下:
function execute(s1, s2){ return s1 + s2;}
首先需要定義一個接口,這個接口中給出與要執行的JavaScript方法一樣的方法簽名,我們定義接口Methods,它的內容如下:
/** * 接口中的方法簽名必須與要執行的JavaScript方法一致 * @author yuncong * */public interface Methods { public String execute(String s1,String s2);}
然後,就可以用腳本引擎執行中execute(s1,s2)方法了,具體內容寫在下面的ExecuteScript類中的':
import Reader;import cable;import ptEngine;import ptEngineManager;public class ExecuteScript { public static void main(String[] args) { ScriptEngineManager manager = new ScriptEngineManager(); ScriptEngine engine = ngineByName("js"); try { String path = esource("")ath(); tln(path); // FileReader的參數為所要執行的js文件的路徑 (new FileReader(path + "")); if (engine instanceof Invocable) { Invocable invocable = (Invocable) engine; Methods executeMethod = nterface(s); tln(ute("li", "yuncong")); } } catch (Exception e) { tStackTrace(); } }}
運行ExecuteScript類,輸出如下:
/C:/Users/yuncong/git/login/target/classes/executescript/ liyuncong
-
JavaScript數組去重的四種方法
javascript數組去重方法彙總ue1=function(){varn=[];//一個新的臨時數組for(vari=0;i<th;i++)//遍歷當前數組{//如果當前數組的第i已經保存進了臨時數組,那麼跳過,//否則把當前項push到臨時數組裏面if(xOf(this[i])==-1)(this[i]);}returnn;};ue2=function(){var...
-
javascript設置創建動態表格的方法
兩種JavaScript動態創建table表格的方法,分享給大家,具體實現如下方法一:最原始的方法,創建一一元素vara1=teElement("table");vara2=teElement("tbody");vara3=teElement("tr");vara4=teElement("td");//開始appendchild()追加各個元素ndChild(a4);ndChild(a3);nd...
-
如何理解Javascript的caller,callee,call,apply區別
在提到上述的概念之前,首先想説説javascript中函數的隱含參數:argumentsarguments該對象代表正在執行的函數和調用它的函數的參數。[function.]arguments[n]參數function:選項。當前正在執行的Function對象的名字。n:選項。要傳遞給Function對象的從0開始的參數值...
-
如何理解Javascript的caller,callee,call,apply區別
在提到上述的概念之前,首先想説説javascript中函數的隱含參數:argumentsarguments該對象代表正在執行的函數和調用它的函數的參數。[function.]arguments[n]參數function:選項。當前正在執行的Function對象的名字。n:選項。要傳遞給Function對象的從0開始的參數值...