我想知道是否可以遍历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()
Run Code Online (Sandbox Code Playgroud)
我怎样才能得到:
1
2
3
Run Code Online (Sandbox Code Playgroud)
通过更改变量text?
def values = [ "1", "2", "3" ]
def engine = new groovy.text.SimpleTemplateEngine()
def text = '''<% values.each { println it} %>'''
println engine.createTemplate(text).make([values: values])
Run Code Online (Sandbox Code Playgroud)
你的意思是?
def values = [ "1", "2", "3" ]
def engine = new groovy.text.SimpleTemplateEngine()
def text = '''
${values.each { println it} }
'''
println engine.createTemplate(text).make([values: values])
Run Code Online (Sandbox Code Playgroud)
如果您想要一个没有很多引号并且没有大量命令式编程的优雅模板,您可以执行以下操作
def text = '''
<% for (item in values) { %>
<%= item %>
<% } %>
'''
Run Code Online (Sandbox Code Playgroud)
规则很简单:
<%= ..%>如果有价值呈现就使用。<% .. %>如果存在流程控制处理(if/else、for 循环...),则使用