2016-01-18 2 views
0

Utilisation Grails 3.0.9Grails 3: taglib personnalisée ne reconnaît pas

J'ai essayé la mise en place d'une balise personnalisée, mais je ne peux pas le faire fonctionner. J'ai créé le fichier groovy suivant dans Grails-app/taglib: 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>" 
     } 
    } 
} 

Et je cet appel dans un fichier gsp:

<g:renderList values="[1, 2, 3]">check check</g:renderList> 

Je reçois l'erreur:

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

J'ai essayé de créer un espace de noms personnalisé à l'intérieur de BeanFormGenerator:

static namespace = "beanform" 

Mais cela a juste été considéré comme un balisage. Qu'est-ce que je fais mal? La documentation donne l'impression que cela devrait être tout ce qu'il y a à faire. Je cours cela à l'intérieur de l'édition de la communauté IntelliJ si cela fait une différence.

+1

* Tout simplement, pour créer une bibliothèque de balises créer une classe Groovy qui se termine par la convention TagLib et placez-le dans le répertoire Grails-app/taglib * http: //grails.github. io/grails-doc/3.0.9/guide/single.html # taglibs – dmahapatro

Répondre