如何使用SimpleTemplateEngine遍历模板中的列表

时间:2017-06-22 22:48:13

标签: templates groovy

我想知道是否可以在SimpleTemplateEngine groovy中循环遍历值列表。例如:

def values = [ "1", "2", "3" ]
def engine = new groovy.text.SimpleTemplateEngine()
def text = '''\
    ???
'''
def template = engine.createTemplate(text).make(values)
println template.toString()

我怎样才能得到:

1
2
3

更改变量text

3 个答案:

答案 0 :(得分:4)

你的意思是?

def values = [ "1", "2", "3" ]
def engine = new groovy.text.SimpleTemplateEngine()
def text = '''
    ${values.each { println it} }
'''
println engine.createTemplate(text).make([values: values])

答案 1 :(得分:2)

dpkg --print-architecture

答案 2 :(得分:1)

如果你想要一个优雅的模板,没有很多引号,没有很多命令式编程,你可以这样做

def text = '''
<% for (item in values) { %>
<%= item %>    
<% } %>

'''

规则很简单:

  • 如果需要呈现值,请使用 <%= ..%>
  • 如果有流量控制处理(if/else、for 循环、...),请使用 <% .. %>