如何在groovy模板中引用根对象?

时间:2013-04-01 17:40:03

标签: java groovy

我想创建一个groovy模板,它迭代根映射,但我不知道如何引用地图。

例如,如果我传入地图

def map = [a: 1, b:2]

使用模板(其中???将是根元素)

<% ???.each { %>
"name": "it.key", "value": "it.value"
<% } %>

有没有办法引用这个根对象?

1 个答案:

答案 0 :(得分:0)

使用binding.variables。例如:

import groovy.text.SimpleTemplateEngine

def template = new SimpleTemplateEngine().createTemplate('''
<% binding.variables.each { key, value -> %>
name = $key, value = $value
<% } %>
''')
def out = template.make([hello: 'world'])
println out.toString()