想从一个复杂嵌套的数据结构中取出变量来,本来使用velocity来进行,但是大牛建议使用groovy,因为它更方便进行运算,并且给我了一个大致的框架,目前还在摸索中…… Map里放置参数 public Object executeScript(String script, Map<Object, Object> args) throws Exception { GroovyShell shell = new GroovyShell(); if (args != null) { Set<Map.Entry<Object, Object>> entries = args.entrySet(); for (Map.Entry<Object, Object> entry : entries) { shell.setVariable((String) entry.getKey(), entry.getValue()); } } Object result = shell.evaluate(script); return result; }