• java中使用js函数


    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很有用,好多高级功能可以用到。

  • 相关阅读:
    JavaWeb--基本概念
    启动Tomcat错误:The JRE_HOME environment variable is not defined correctly
    时间管理-1-总有一种情况你经历过
    时间管理
    非对称加密-支付宝 堆成加密
    TreeMap底层实现和原理-红黑树
    @Autowired报错原因分析和4种解决方案!
    布隆过滤器的设计原理
    springboot 日期参数前后台转换问题
    设计模式
  • 原文地址:https://www.cnblogs.com/booke/p/3199600.html
Copyright © 2020-2023  润新知