java运行脚本
来源:互联网 发布:python 微信报警接口 编辑:程序博客网 时间:2024/06/06 18:08
如何在java利用Rhino引擎中运行脚本?
- 基本的执行
//1.获得引擎脚本 ScriptEngineManager scriptEngine = new ScriptEngineManager(); ScriptEngine javascript = scriptEngine.getEngineByName("javascript"); //2.定义变量,存储到引擎上下文 javascript.put("msg", "hello world");//可以在js里面获取到msg String str = "var user={name:'chen',age:12};"; str += "print(user.name);"; str += "print(msg)"; //3.执行 javascript.eval(str);//chen -hello world- javascript.eval("msg='nihao a '");//javascript可以操作 javascript.eval(str);//chen-nihao a System.out.println(javascript.get("msg"));//java可以操作//nihao a
- 执行函数
//定义函数 javascript.eval("function add(a,b){return a+b;}"); Invocable invocable = (Invocable) javascript; Object add = invocable.invokeFunction("add", new Object[]{1, 2}); System.out.println(add);//3.0
3.在脚本中导入java包
//String jsCode = "importPackage(java.util); var list=Arrays.asList([\"nihao\",\"hello\"]);";//1.8后不再适用 String jsCode = "var list=java.util.Arrays.asList([\"nihao\",\"hello\"]);"; javascript.eval(jsCode); List<String> stringList = (List<String>) javascript.get("list");//取值 stringList.forEach(System.out::println);//nihao hello //更加详细,可以学习Rhino的语法
- 读取外部文件
URL url = RunJavascript.class.getClassLoader().getResource("demo.js"); FileReader fr = new FileReader(url.getPath()); javascript.eval(fr);//invoke js file:7 //关闭流
阅读全文
0 0
- Java运行shell脚本
- java程序运行脚本
- java运行脚本
- java 运行脚本
- shell脚本运行java程序
- java 运行javascript脚本大全
- JAVA嵌入运行Groovy脚本
- 关于java运行python脚本
- java 对象的脚本运行
- JAVA嵌入运行Groovy脚本
- JAVA嵌入运行Groovy脚本
- 使用java运行javaScript脚本
- 运行java程序shell脚本
- shell脚本运行java程序
- Linux下运行Java程序脚本
- java 脚本运行设置初始内存大小
- linux运行java项目的shell脚本
- Java中运行动态脚本Groovy
- JAVA中如何利用javassist实现动态编程
- Android SQLite详解
- Java中的条件运算符
- docker 安装 elasticsearch 报错max virtual memory areas vm.max_map_count [65530] is too low, increase to
- 面试:Random类
- java运行脚本
- Hadoop之Java通过URL操作HDFS-yellowcong
- CF --- 831C Jury Marks 【思维】
- 银行电子回单打印中Base64使用。
- 714A. Meeting of Old Friends
- 常用github命令
- Codeforces Round#429 B-Godesend
- PC-Lint代码静态检查之Info 701: Shift left of signed quantity (int)
- HDU-2147-kiki's game 【巴什博弈】