При попытке получить экземпляр для пользовательского TagLib внутри контроллера, с помощью следующих действий:Grails - Получение TagLib боб с помощью контекста приложения
def myTagLib = grailsApplication.mainContext.getBean('com.mypackage.MyTagLib')
Я получаю следующее сообщение об ошибке:
No bean named 'com.mypackage.MyTagLib' is defined. Stacktrace follows: org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'com.mypackage.MyTagLib' is defined
Однако , Я могу получить экземпляр встроенного taglib без проблем:
def g = grailsApplication.mainContext.getBean('org.codehaus.groovy.grails.plugins.web.taglib.ValidationTagLib')
Согласно following, это должно сработать. У кого-нибудь есть идеи, почему мой taglib не будет признан действительным компонентом?
Я использую Grails 2.4.0
Вышеупомянутое верно в контроллере или другом taglib, но это не так в другом месте. Если вы хотите получить доступ к taglib из файлов src/groovy, например, вам понадобится ваш оригинальный подход. Поскольку вы загружаете компонент, вы хотите использовать зарегистрированное имя компонента, а не имя класса. –