Grails 3:无法识别自定义标记库

时间:2016-01-18 00:57:30

标签: taglib grails-3.0

使用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社区版中运行它,如果这有所不同。

1 个答案:

答案 0 :(得分:1)

  

很简单,创建一个标记库创建一个结束的 Groovy类   使用约定TagLib 并将其放在grails-app / taglib中   目录

grails.github.io/grails-doc/3.0.9/guide/single.html#taglibs