在MarkupBuilder中使用taglib标记

时间:2017-11-12 22:21:00

标签: grails taglib grails3 markupbuilder

我尝试将Grails Tablib与Groovy MarkupBuilber

结合使用
MarkupBuilder html = new MarkupBuilder(out)

html.div {
    g.link(controller: "...", action: "...") {
        ...
    }
}

如Grails文档(http://docs.grails.org/latest/guide/theWebLayer.html#_rendering_a_response)中所述,这不起作用,因为taglib调用返回了一些将被MarkupBuilder

忽略的文本

我也在github(https://github.com/grails/grails-gsp/issues/7)上的grails-gsp项目中发现了同样的问题。在本期中,解决方案是使用out <<

这是正确的解决方案吗?还是有其他可能吗?

1 个答案:

答案 0 :(得分:1)

只需使用mkp.yieldmkp.yieldUnescaped添加到构建器语法的自定义文本。

MarkupBuilder html = new MarkupBuilder(out)

html.div {
    mkp.yieldUnescaped g.link(controller: "...", action: "...") {
        ...
    }
}