我创建了一个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标签吗?如果是这样,我会使用什么语法?
答案 0 :(得分:0)
嗯,事实证明它出现在Grails文档中,here。
您应该像这样调用渲染模板方法:
def formatBook = { attrs, body ->
out << render(template: "bookTemplate", model: [book: attrs.book])
}
简单!