更新時(shí)間:2022-10-10 10:12:41 來源:動(dòng)力節(jié)點(diǎn) 瀏覽2835次
以下代碼顯示了如何從 Java 調(diào)用 Javascript 函數(shù)。
首先,它在 Javascript 文件中定義了四個(gè)函數(shù),并將其保存到 c:/Java_Dev/calculator.js 中。
var計(jì)算器 =新對(duì)象();
計(jì)算器.add =函數(shù)(n1, n2) n1 + n2;
計(jì)算器.減法 =函數(shù)(n1, n2) n1 - n2;
計(jì)算器.乘法 =函數(shù)(n1, n2) n1 * n2;
計(jì)算器.除法 =函數(shù)(n1, n2) n1 / n2;
然后,使用 eval() 函數(shù)加載腳本并獲取表示函數(shù)的 Object。
String scriptPath = "c:/Java_Dev/calculator.js" ;
engine.eval( "load('" + scriptPath + "')" );
對(duì)象計(jì)算器 = engine.get( "計(jì)算器" );
最后,通過名稱獲取函數(shù)并傳入?yún)?shù)。
對(duì)象 addResult = inv.invokeMethod(calculator, "add" , x, y);
Object subResult = inv.invokeMethod(calculator, "subtract" , x, y);
Object mulResult = inv.invokeMethod(calculator, "multiply" , x, y);
對(duì)象 divResult = inv.invokeMethod(calculator, "divide" , x, y);
導(dǎo)入javax.script.Invocable;
導(dǎo)入javax.script.ScriptEngine;
導(dǎo)入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( "不支持調(diào)用方法。" );
返回;
}
Invocable inv = (Invocable) 引擎;
String scriptPath = "c:/Java_Dev/calculator.js" ;
engine.eval( "load('" + scriptPath + "')" );
對(duì)象計(jì)算器 = engine.get( "計(jì)算器" ); 詮釋x = 3;
整數(shù)y = 4;
對(duì)象 addResult = inv.invokeMethod(calculator, "add" , x, y);
對(duì)象子結(jié)果 = inv.invokeMethod(計(jì)算器,
, x, y);
Object mulResult = inv.invokeMethod(calculator, "multiply" , x, y);
對(duì)象 divResult = inv.invokeMethod(calculator, "divide" , x, y);
System.out.println(addResult);
System.out.println(subResult);
System.out.println(mulResult);
System.out.println(divResult);
}
}
上面的代碼生成以下結(jié)果。
這是 c:/Java_Dev/calculator.js 的源代碼。
var計(jì)算器 =新對(duì)象();
計(jì)算器.add =函數(shù)(n1, n2) n1 + n2;
計(jì)算器.減法 =函數(shù)(n1, n2) n1 - n2;
計(jì)算器.乘法 =函數(shù)(n1, n2) n1 * n2;
計(jì)算器.除法 =函數(shù)(n1, n2) n1 / n2;
以上就是關(guān)于“Java調(diào)用js方法”的介紹,大家如果對(duì)此比較感興趣,想了解更多相關(guān)知識(shí),不妨來關(guān)注一下動(dòng)力節(jié)點(diǎn)的Java視頻教程,里面的課程內(nèi)容從入門到精通,細(xì)致全面,通俗易懂,很適合沒有基礎(chǔ)的小伙伴學(xué)習(xí),相信對(duì)大家一定會(huì)有所幫助的。
相關(guān)閱讀
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
有基礎(chǔ) 直達(dá)就業(yè)
業(yè)余時(shí)間 高薪轉(zhuǎn)行
工作1~3年,加薪神器
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問老師會(huì)電話與您溝通安排學(xué)習(xí)