此方法對帶有document、windows的js會報錯,目前還沒研究出來怎么弄,有知道的大哥大姐能評論告訴一下我么!!
在臨湘等地區(qū),都構建了全面的區(qū)域性戰(zhàn)略布局,加強發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務理念,為客戶提供成都做網(wǎng)站、網(wǎng)站建設 網(wǎng)站設計制作按需定制開發(fā),公司網(wǎng)站建設,企業(yè)網(wǎng)站建設,成都品牌網(wǎng)站建設,全網(wǎng)營銷推廣,外貿(mào)網(wǎng)站建設,臨湘網(wǎng)站建設費用合理。1.創(chuàng)建讀取類
public class ScriptJs {
public String userjs(String filename) throws ScriptException, NoSuchMethodException, IOException {
ScriptEngineManager manager = new ScriptEngineManager();
ScriptEngine engine = manager.getEngineByName("javascript");
FileReader reader = new FileReader(filename); // 執(zhí)行指定腳本
engine.eval(reader);
String ret ="";
if (engine instanceof Invocable) {
Invocable invoke = (Invocable) engine;
ret = (String) invoke.invokeFunction("encrypt","ABCD"); //方法名和參數(shù)
//System.out.println("s = " + s);
}
reader.close();
return ret;
}
}
2.js里面的代碼
function encrypt(a){return a+"EFG";
}
3.測試以下
public class Test {public static void main(String[] args) throws ScriptException, IOException, NoSuchMethodException {ScriptJs js = new ScriptJs();
String s = js.userjs("D:\\ideaProjects\\ThirdInterfaceTest\\src\\main\\java\\com\\example\\httpURLConnection\\sign.js");
//String s = js.userjs("src/main/java/com/example/httpURLConnection/sign.js"); 兩種都可以
System.out.println("s = " + s);
}
}
4.結果:
你是否還在尋找穩(wěn)定的海外服務器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準確流量調度確保服務器高可用性,企業(yè)級服務器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧