Grails 3: пользовательская taglib не распознана

Использование Grails 3.0.9

Я попытался настроить пользовательский тег, но не могу заставить его работать. Я создал следующий отличный файл в 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>"
        }
    }
}

И у меня есть этот вызов в файле gsp:

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

Я получаю сообщение об ошибке:

Тег [renderList] не существует. Не найдена библиотека тегов для пространства имен: g

Я попытался создать собственное пространство имен внутри BeanFormGenerator:

static namespace = "beanform"

Но это просто заставило рассматриваться как разметка. Что я делаю неправильно? Документация создает впечатление, что это должно быть все, что нужно. Я запускаю это в версии сообщества IntelliJ, если это имеет значение.


person IcedDante    schedule 18.01.2016    source источник
comment
Проще говоря, чтобы создать библиотеку тегов, создайте класс Groovy, оканчивающийся на условное обозначение TagLib, и поместите его в каталог grails-app/taglib grails.github.io/grails-doc/3.0.9/guide/single.html#taglibs   -  person dmahapatro    schedule 18.01.2016


Ответы (1)


Проще говоря, чтобы создать библиотеку тегов, создайте класс Groovy, оканчивающийся условной библиотекой TagLib, и поместите его в каталог grails-app/taglib.

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

person dmahapatro    schedule 18.01.2016