2013-04-01 3 views
0

Я хочу создать шаблон groovy, где он выполняет итерацию над корневой картой, но я не знаю, как ссылаться на карту.Как связать корневой объект в массивном шаблоне?

Например, если я прохожу в карте

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

с шаблоном (где ??? будет корневой элемент)

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

есть способ ссылаться на этот корневой объект?

ответ

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() 
+0

Это будет работать, поскольку исходная карта, кажется, была съедена, и это все, что вы можете оставить. Я просто должен помнить, чтобы исключать, когда я его использую. – memtiger623

Смежные вопросы