有没有办法修改上一个答案中的代码
import groovy.xml.MarkupBuilder
def writer = new StringWriter()
def builder = new MarkupBuilder(writer)
def awaiting = ['one', 'two', 'three']
builder.html {
ul {
awaiting.each {
li(it.toString())
}
}
}
println writer.toString()
这样,如果你添加一个标签而不是你发送它 - 比如
builder.html{
tag{
awaiting.each{}
}
} return result
可以是'ol'或'ul'例如
答案 0 :(得分:2)
您可以依赖于GStrings以及您可以通过字符串值调用函数的事实。
import groovy.xml.MarkupBuilder
def writer = new StringWriter()
def builder = new MarkupBuilder(writer)
def awaiting = ['one', 'two', 'three']
def tag = 'ol'
builder.html {
"$tag" {
awaiting.each {
li(it.toString())
}
}
}
println writer.toString()
答案 1 :(得分:0)
你也可以使用比上面更明确的invokeMethod,虽然时间稍长。
builder.html {
invokeMethod(tag) {
awaiting.each {
li it
} } }