Java使用ScriptEngine调用Javascript代码。,,Java使用Script
分享于 点击 43003 次 点评:208
Java使用ScriptEngine调用Javascript代码。,,Java使用Script
Java使用ScriptEngine调用Javascript代码。
[Java]代码
package cn.outofmemory.common.utils;import java.io.File;import java.io.FileReader;import javax.script.Invocable;import javax.script.ScriptEngine;import javax.script.ScriptEngineManager;import javax.script.ScriptException;public class CoffeeScript { public static ScriptEngineManager mgr = new ScriptEngineManager(); public static ScriptEngine jsEngine = mgr.getEngineByName("JavaScript"); static { try { jsEngine.eval(new FileReader(new File("coffee-script.js"))); } catch (Exception ex) { ex.printStackTrace(); } } public static String compile(String coffeescript) throws ScriptException { try { Invocable invocableEngine = (Invocable) jsEngine; String output = (String) invocableEngine.invokeFunction( "compile_coffee", coffeescript); return output; } catch (NoSuchMethodException ex) { ex.printStackTrace(); return ""; } }}
我们定义一个compile_coffee来包装一下js的CoffeeScript的compile方法
function compile_coffee(a){ return CoffeeScript.compile(a);}
用户点评