【问题标题】:Missing taglib when using GroovyPagesTemplateEngine使用 GroovyPagesTemplateEngine 时缺少 taglib
【发布时间】:2009-10-24 03:34:43
【问题描述】:

我一直在通过我自己的 taglib 中的标签处理动态 GSP 内容,使用如下代码可以正常工作:

    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% 确定如何找到各种资源(如 taglib),但我所有的 taglib 都可以正常工作,就像普通的 grails 库一样。

我遇到的问题是AcegiSecurity 的标签在以这种方式处理的内容中找不到:例如

<g:isLoggedIn>
   You're logged in :-)
</g:isLoggedIn>

那么我如何让GroovyPagesTemplateEngine 找到AcegiSecurity 标签? 我猜这可能与ApplicationContextServletContext 有关。

编辑--- 看起来这可能是一个重载的命名空间问题:

    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) 

【问题讨论】:

    标签: grails groovy taglib


    【解决方案1】:

    taglib 确实存在问题是我用来清理 html 的库非常正确地将标签转换为小写,因为 html 不区分大小写。问题在于 grails 标签区分大小写,因此找不到标签“isLoggedIn”。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-11-26
      • 1970-01-01
      • 2019-06-21
      • 2015-09-16
      • 2020-02-13
      • 2021-07-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多