在grails taglib中引用<tmpl:mytemplate> </tmpl:mytemplate>

时间:2013-02-02 11:20:46

标签: grails groovy gsp taglib

我创建了一个tmpl gsp标记,其中包含一些标记,该标记在我的webapp(/shared/formRow.gsp)中的整个表单中使用。我想在我创建的groovy taglib中引用这个tmpl gsp标签。这可能吗?

这是我的taglib的def ...

def checkboxRow = { attrs ->
    def name = attrs.name
    def value = attrs.value
    def label = attrs.label
    def defaultLabel = attrs.defaultLabel

    out << "<tmpl:/shared/formRow name='${name}' label='${label}' defaultLabel='${defaultLabel}'>"
    out << "    ${checkBox(id: name, name: name, value: value)}"
    out << "</tmpl:/shared/formRow>"
}

我意识到taglibs的语法有点不同(例如你需要做$ {checkBox(...)}而不是),但是有可能以类似的方式引用你自己的tmpl gsp标签吗?如果是这样,我会使用什么语法?

1 个答案:

答案 0 :(得分:0)

嗯,事实证明它出现在Grails文档中,here

您应该像这样调用渲染模板方法:

def formatBook = { attrs, body ->
    out << render(template: "bookTemplate", model: [book: attrs.book])
}

简单!