我想创建一个 groovy 模板,它在根地图上进行迭代,但我不知道如何引用该地图。
例如,如果我传入一张地图
def map = [a: 1, b:2]
使用模板(其中 ??? 将是根元素)
<% ???.each { %>
"name": "it.key", "value": "it.value"
<% } %>
有没有办法引用这个根对象?
使用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()