JDK6已经发布很久了,很早就听过他已经支持脚本语言了,不过一直没有时间尝试,今天偷闲试了一下,感觉不错。
  javax.script包它是Java新增的操作脚本的工具包,
  利用它我们可以对脚本语言进行操作(本例仅是针对javascript

  1.用引擎直接解析脚本公式
  Java代码
  //创建脚本引擎管理器
  ScriptEngineManager sem = new ScriptEngineManager();
  //创建一个处理JavaScript的脚本引擎
  ScriptEngine engine = sem.getEngineByExtension("js");
  try{
  //执行js公式
  engine.eval("if(6>5){flag=true;}else{flag =false;}");
  }catch(ScriptException ex){
  ex.printStackTrace();
  }
  //看看我们预期的反馈结果 true
  System.out.println((engine.get("flag")));
  2.创建方法并进行脚本调用(这个是我比较喜欢的一种方式)
  Java代码
  ScriptEngineManager sem = new ScriptEngineManager();
  ScriptEngine engine = sem.getEngineByName("JavaScript");
  //创建脚本
  String script = "function max(first,second) "
  + "{ return (first > second) ?true:false;}";
  //执行脚本
  engine.eval(script);
  Invocable inv = (Invocable) engine;
  //执行方法并传递参数
  Object obj = inv.invokeFunction("max", "0", "1");
  //打印结果
  System.out.println((Boolean)obj==false);
  这里据说Invoable很有用,好多高级功能可以用到。

最新文章

  1. 【Java EE 学习 78 上】【数据采集系统第十天】【Service使用Spring缓存模块】
  2. Azure PowerShell (4) 使用PowerShell管理多个订阅
  3. 【转】ACM搜索算法总结 --By GreenHand
  4. Android中关于Handler的若干思考
  5. qsort函数详解
  6. Ferry Loading III[HDU1146]
  7. JAVA设计模式之门面模式
  8. Nexus4_屏幕截图目录
  9. C#中Delegate
  10. jquery 字符串转json
  11. Java学习--封装、继承、多态
  12. 一个用C#实现的虚拟WiFi设置程序
  13. MYSQL常用简单语句
  14. Oracle系统表实用操作笔记
  15. Xshell配色为ubuntu风格
  16. 交叉编译bash
  17. iOS开发笔记-一种任意字体、颜色混排UILabel的实现
  18. The more... the more句型
  19. <YARN><MRv2><Spark on YARN>
  20. Flex 界面初始化 自定义 预加载 类!

热门文章

  1. 洛谷——P1621 集合
  2. Linux内核网络栈源代码分析
  3. nginx configure 错误记录
  4. 利用iptables的NAT代理实现内网访问外网
  5. 服务器启动之后运行脚本在/etc/rc.d/rc.local中配置
  6. Ubuntu下安装JDK图文解析
  7. Archlinux 下的 VMWare Workstation 维护笔记
  8. eclipse学习
  9. 调用android系统相机拍照并保存
  10. LM339组成的双限比较器