首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Groovy markupbuilder标记

Groovy markupbuilder标记
EN

Stack Overflow用户
提问于 2010-06-18 20:39:51
回答 2查看 1.5K关注 0票数 2

有没有办法根据前面的答案修改代码?

代码语言:javascript
复制
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()

因此,如果您添加了一个标记,而不是发送它-就像这样

代码语言:javascript
复制
    builder.html{
tag{
    awaiting.each{}
    }
} return result

可以是'ol‘或'ul’,例如

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-06-18 20:48:48

您可以依赖于GStrings以及可以通过函数的字符串值调用函数的事实。

代码语言:javascript
复制
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()
票数 3
EN

Stack Overflow用户

发布于 2010-06-23 05:25:48

你也可以使用invokeMethod,它比上面的更明确,只是稍微长了一点。

代码语言:javascript
复制
builder.html {
  invokeMethod(tag) {
    awaiting.each { 
      li it
} } }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3069614

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档