测试js脚本引擎
public class helloworld {
public static void main(String[] args) throws Exception {
//获得脚本引擎对象
ScriptEngineManager sem=new ScriptEngineManager();
ScriptEngine engine=sem.getEngineByName("javascript");
//定义变量,会存储到引擎上下文种,java和js都能取到
engine.put("msg","good man");
String str="var user= {name:'我',age:18,schools:['高中','大学']};";
str+="print(user.name);";
//执行脚本
engine.eval(str);
//js代码修改
engine.eval("msg = 'i am a good man';");
//java获取值
System.out.println(engine.get("msg"));
//定义js函数
engine.eval("function add(a,b){var sum=a+b;return sum;}");
//执行js函数
//取得调用接口
Invocable jsInvoke =(Invocable)engine; //Invocable是Script