在JavaScript脚本上调用Java
package jsEngine;
import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
import javax.script.ScriptException;
public class RunScript2 {
public static void main(String [] args){
ScriptEngineManager manager = new ScriptEngineManager();
ScriptEngine engine = manager.getEngineByName("rhino");
String scriptString = "function add(op1,op2){return a+b} add(a,b);";
engine.put("a", 1);
engine.put("b", 2);
//此处_sql是对象
engine.put("_sql", new SQLRunner());
//_sql调用update_sql()方法,"rec =" 可以去掉
scriptString = "rec = _sql.update_sql()";
try {
Object result = engine.eval(scriptString);
System.out.println(result);
} catch (ScriptException e) {
e.printStackTrace();
}
}
}
package jsEngine;
public class SQLRunner {
public void select_sql(){
System.out.println("select success");
}
public int update_sql(){
System.out.println("update success");
return 1;
}
}