通过Java调用JavaScript
只有在将计算式注册到数据库中的情况下才会使用。
(只是现在出现了这样的需求而已。。)
import javax.script.Compilable;
import javax.script.CompiledScript;
import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
public class Test {
public static void main(String[] args) throws Exception {
String script = "result=num*2";
ScriptEngineManager manager = new ScriptEngineManager();
ScriptEngine engine = manager.getEngineByName("js");
Compilable ce = (Compilable) engine;
CompiledScript cs = ce.compile(script);
engine.put("num", 1);
cs.eval();
Object result = engine.get("result");
if(result != null) {
System.out.println("result=" + result.toString());
}
}
}