Я обрабатывал динамический контент GSP с помощью тегов в моем собственном taglib, который прекрасно работает, используя такой код:
def GroovyPagesTemplateEngine groovyPagesTemplateEngine
...
def processGSPContent(model, name, out) {
log.debug("model is $model")
Template t = groovyPagesTemplateEngine.createTemplate(model.content, name + ".gsp")
Writable w = t.make(model: model)
w.writeTo(out)
}
Теперь я не уверен на 100% в том, как найти различные ресурсы, такие как taglibs, но все мои taglibs работают нормально, как и обычные библиотеки grails.
У меня проблема в том, что теги AcegiSecurity
не найдены в контенте, обработанном таким образом: например,
<g:isLoggedIn>
You're logged in :-)
</g:isLoggedIn>
так как мне заставить GroovyPagesTemplateEngine
найти теги AcegiSecurity
?
Я предполагаю, что это может быть как-то связано с ApplicationContext
или ServletContext
.
редактировать ---
Похоже, что это может быть перегружена проблема пространства имен:
Caused by: org.codehaus.groovy.grails.web.taglib.exceptions.GrailsTagException: Tag [ifnotloggedin] does not exist.
No tag library found for namespace: g at home_pmcneil_devel_Groupie_grails_app_views_display_page_gsp.run(home_pmcneil_devel_Groupie_grails_app_views_display_page_gsp:32)