當(dāng)前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
java 脚本引擎执行javascript脚本
生活随笔
收集整理的這篇文章主要介紹了
java 脚本引擎执行javascript脚本
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
java腳本引擎是從JDK6.0之后添加的新功能,語法使用Rhino。
public class ScriptTest {public static void main(String args[]) throws ScriptException, NoSuchMethodException, IOException {ScriptEngineManager manager = new ScriptEngineManager();ScriptEngine engine = manager.getEngineByName("javascript");//聲明一個msg 變量engine.put("msg","this is msg!");String jsCode = "var a = 10; var b =20;println(a+b);";//執(zhí)行javascript代碼engine.eval(jsCode);//修改變量engine.eval("msg = 'this is msg2!';println(msg);");//使用java獲取變量System.err.println(engine.get("msg"));//執(zhí)行js方法String jsFunc="function add(a,b){return a+b}";engine.eval(jsFunc);Invocable invocable = (Invocable) engine;Object res = invocable.invokeFunction("add",new Object[]{5,7});System.err.println(res);//在腳本中使用javaString importJava = "importPackage(java.util);var list = Arrays.asList([\"嘻嘻\",\"哈哈\",\"咕咕\"]);";engine.eval(importJava);List list = (List) engine.get("list");System.err.println(list);//執(zhí)行js文件URL url = ScriptTest.class.getClassLoader().getResource("test.js");FileReader reader = new FileReader(url.getPath());engine.eval(reader);reader.close();}test.js(src下)
var a = 10; var b = 30; function mul() {return a*b; }println(mul());轉(zhuǎn)載于:https://www.cnblogs.com/mf001/p/8507757.html
總結(jié)
以上是生活随笔為你收集整理的java 脚本引擎执行javascript脚本的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 算法之枚举
- 下一篇: Spring Boot中使用AOP统一处