使用Grails 3.0.9
我尝试设置自定义标记,但我无法让它工作。我在grails-app / taglib中创建了以下groovy文件: BeanFormGenerator.groovy
class BeanFormGenerator {
def renderList = { attrs, body ->
// reads the 'values' attribute from the attributes list
def list = attrs.values
// iterates and renders list values
list.each {
// uses the implicit 'out' variable to append content to the response
out << "<span class=\"element\"> ${it} </span>"
}
}
}
我在gsp文件中有这个调用:
<g:renderList values="[1, 2, 3]">check check</g:renderList>
我收到错误:
标签[renderList]不存在。找不到名称空间的标记库:g
我尝试在BeanFormGenerator中创建一个自定义命名空间:
static namespace = "beanform"
但这只会被视为标记。我究竟做错了什么?文档似乎应该是它的全部内容。我在IntelliJ社区版中运行它,如果这有所不同。
答案 0 :(得分:1)
很简单,创建一个标记库创建一个结束的 Groovy类 使用约定TagLib 并将其放在grails-app / taglib中 目录