Groovy动态解析
Posted 红桃xin
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Groovy动态解析相关的知识,希望对你有一定的参考价值。
https://www.cnblogs.com/hunttown/p/6800591.html
//创建engine实例直接解析文本内容
ScriptEngineManager factory = new ScriptEngineManager();
//每次生成一个engine实例
ScriptEngine engine = factory.getEngineByName("groovy");
System.out.println(engine.toString());
assert engine != null;
Bindings binding = engine.createBindings();
binding.put("date", new Date());
//如果script文本来自文件,请首先获取文件内容
engine.eval("def getTime(){return date.getTime();}", binding);
engine.eval("def sayHello(name,age){return 'Hello,I am ' + name + ',age' + age;}");
Long time = (Long) ((Invocable) engine).invokeFunction("getTime", null);
System.out.println(time);
String message = (String) ((Invocable) engine).invokeFunction("sayHello", "zhangsan", new Integer(12));
System.out.println(message);
以上是关于Groovy动态解析的主要内容,如果未能解决你的问题,请参考以下文章
GroovyGroovy 脚本调用 ( Groovy 配置文件格式 | Groovy 配置文件读取 | 完整配置文件及解析代码示例 )