有没有办法根据前面的答案修改代码?
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’,例如
发布于 2010-06-18 20:48:48
您可以依赖于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()发布于 2010-06-23 05:25:48
你也可以使用invokeMethod,它比上面的更明确,只是稍微长了一点。
builder.html {
invokeMethod(tag) {
awaiting.each {
li it
} } }https://stackoverflow.com/questions/3069614
复制相似问题