咖啡伴侶

          呆在上海
          posts - 163, comments - 156, trackbacks - 0, articles - 2

          java執行腳本語言javascript

          Posted on 2010-06-03 15:04 oathleo 閱讀(3398) 評論(3)  編輯  收藏 所屬分類: Java
          version jdk1.6

          很早就聽說了這個功能一直沒仔細看看,嘗試了下 功能不錯!

              public static void main(String[] args) {
                  ScriptEngineManager sem = new ScriptEngineManager();
                 
                  //添加上下文綁定數據
                  SimpleBindings bindings = new SimpleBindings();
                  bindings.put("aaa_av", new Double(10000.1));
                  bindings.put("bbb_av", new Double(20000.2));
                 
                  ScriptEngine engine = sem.getEngineByExtension("js");
                  engine.setBindings(bindings, ScriptContext.ENGINE_SCOPE);
                  try{
                      //直接解析
                      Object res = engine.eval(" res =  Math.max(aaa_av , bbb_av) + aaa_av");
                      System.out.println(res);
                     
                     
                      //創建腳本
                      String script = "function getMax() "
                          + "{ return Math.max(aaa_av , bbb_av)}";
                      //執行腳本
                      engine.eval(script);
                      Invocable inv = (Invocable) engine;
                      //執行方法并傳遞參數
                      Object obj = inv.invokeFunction("getMax", null);
                      //打印結果
                      System.out.println(obj);

                  }catch(Exception ex){
                      ex.printStackTrace();
                  }
              }

          Feedback

          # re: java執行腳本語言javascript  回復  更多評論   

          2010-06-06 23:09 by 追夢少年
          不錯啊!!

          # re: java執行腳本語言javascript  回復  更多評論   

          2010-06-13 00:44 by zcl
          不適用!

          # re: java執行腳本語言javascript  回復  更多評論   

          2010-07-03 10:19 by FineReport——報表技術領跑者
          很好!頂了~
          主站蜘蛛池模板: 永安市| 双辽市| 宁南县| 简阳市| 泸西县| 巢湖市| 遵义县| 大同县| 南丹县| 铅山县| 高要市| 会理县| 井冈山市| 东宁县| 桦甸市| 甘泉县| 昭平县| 九台市| 内江市| 承德市| 古丈县| 外汇| 蒙城县| 江津市| 繁峙县| 长岛县| 渝中区| 临城县| 江陵县| 资中县| 内江市| 天全县| 平塘县| 资阳市| 河池市| 新津县| 清远市| 潍坊市| 鸡东县| 包头市| 克拉玛依市|