本文目錄一覽:
如何在java中調用js方法
js代碼如下:
[javascript] view plain copy
function formula(var1,var2){
return var1+var2-factor;
}
java代碼如下:
[java] view plain copy
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.util.Scanner;
import javax.script.Bindings;
import javax.script.Invocable;
import javax.script.ScriptContext;
import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
import javax.script.ScriptException;
public class AboutJavaScript {
public static void main(String[] args) throws Exception {
ScriptEngine engine=new ScriptEngineManager().getEngineByName(“javascript”);
Bindings bind = engine.createBindings();
bind.put(“factor”, 1);
engine.setBindings(bind, ScriptContext.ENGINE_SCOPE);
Scanner input=new Scanner(System.in);
while (input.hasNextInt()) {
int first= input.nextInt();
int sec=input.nextInt();
System.out.println(“輸入參數是:”+first+”,”+sec);
engine.eval(new FileReader(“F:/model.js”));
if(engine instanceof Invocable){
Invocable in =(Invocable) engine;
Double result=(Double) in.invokeFunction(“formula”, first,sec);
System.out.println(“運行結果:”+result.intValue());
}
}
}
}
如何通過java代碼調用js
JDK1.6版添加了新的ScriptEngine類,允許用戶直接執行js代碼。
在Java中直接調用js代碼
不能調用瀏覽器中定義的js函數,會拋出異常提示ReferenceError: 「alert」 is not defined。
package com.sinaapp.manjushri;
import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
import javax.script.ScriptException; /** * 直接調用js代碼 */
public class ScriptEngineTest {
public static void main(String[] args) {
ScriptEngineManager manager = new ScriptEngineManager();
ScriptEngine engine = manager.getEngineByName(“javascript”);
try{
engine.eval(“var a=3; var b=4;print (a+b);”);
// engine.eval(“alert(\”js alert\”);”); // 不能調用瀏覽器中定義的js函數 // 錯誤,會拋出alert引用不存在的異常
}catch(ScriptException e){
e.printStackTrace();
}
}
}
java中怎麼調用js代碼
這是一個腳本框架,提供了讓腳本語言來訪問Java內部的方法。你可以在運行的時候找到腳本引擎,然後調用這個引擎去執行腳本。這個腳本API允許你為腳本語言提供Java支持。
如何在java調用js
script type=”text/javascript” src=”js/jquery-3.1.0.min.js”/script
就是這樣引入js 。src 的 ‘js’的js是webroot下自己創建的名為js的文件夾 ,jquery-3.1.0.min.js是需要引入的js文件,你自己寫的js文件也可以這樣引入調用。還可以直接在頁面上這樣寫:
script language=”JavaScript” type=”text/javascript”
function init() {
———
}
/script
請問怎麼寫java調用node環境運行js代碼?
nodejs 運行代碼可以在命令行中使用命令「 node /path/xxx.js 」來執行
所以我們可以藉助 java 的 Runtime 類,可以執行系統本地的命令, 例如:
Linux系統下:Runtime.getRuntime().exec(“node /path/xxx.js”);
Window系統下:Runtime.getRuntime().exec(“cmd /c node /path/xxx.js”);
當然推薦使用 Apache-Commons-Exec 工具類,可以屏蔽不同系統命令差異,並且獲取結果更簡單
工具類使用可以參考此文: 網頁鏈接
原創文章,作者:ZKF7B,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/128219.html