demo
StringBuilder scriptContent = new StringBuilder();
scriptContent.append("function run(){");
scriptContent.append("return 123");
scriptContent.append("}");
ScriptEngineManager factory = new ScriptEngineManager();
ScriptEngine engine = factory.getEngineByName("js");
engine.eval(scriptContent.toString());
Invocable inv = (Invocable)engine;
Object result = inv.invokeFunction("run");
System.out.println(result);
js脚本中执行Java方法
StringBuilder scriptContent = new StringBuilder();
scriptContent.append("function run(){");
scriptContent.append("log.info(123123);");
scriptContent.append("return 123;");
scriptContent.append("}");
ScriptEngineManager factory = new ScriptEngineManager();
ScriptEngine engine = factory.getEngineByName("js");
IFunction function = new LogFunction();
engine.put(function.getVarName(),function);
engine.eval(scriptContent.toString());
Invocable inv = (Invocable)engine;
Object result = inv.invokeFunction("run");
System.out.println(result);
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
2018-07-12 idea-maven
2018-07-12 redis安装