2016-01-18 84 views
0

使用Grails 3.0.9Grails 3:自定義taglib不被識別

我試着設置一個自定義標籤,但我無法讓它工作。我創建了下面的常規文件中的grails-app /標籤庫: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> 

我得到的錯誤:

Tag [renderList] does not exist. No tag library found for namespace: g

我試着在BeanFormGenerator裏面創建一個自定義命名空間:

static namespace = "beanform" 

但這只是被當作標記。我究竟做錯了什麼?文檔使得它看起來應該是這樣。我在IntelliJ社區版裏面運行它,如果這有所幫助的話。

+1

*很簡單,創建一個標籤庫創建與公約的TagLib結尾的Groovy類,並將其放置在grails-app /標籤庫目錄下的* HTTP內://grails.github。 IO /的grails-DOC/3.0.9 /導向/ single.html#標籤庫 – dmahapatro

回答