java调用javascript

ScriptEngineManager sem = new ScriptEngineManager();
 
//ScriptEngineFactory sef = sem.getEngineFactories().get(0);
//ScriptEngine se = sef.getScriptEngine();
//sef.getNames():js, rhino, JavaScript, javascript, ECMAScript, ecmascript
ScriptEngine se = sem.getEngineByName("js");
 
se.put("v1", 1);
se.put("v2", 2);
se.eval("function express(p1){" +
  "  return eval(p1);" +
  "}");
 
Invocable ic = (Invocable)se;
System.out.println(ic.invokeFunction("express", "(v2 > v1) || 3 > 2"));

你可能感兴趣的:(eval)