0

私は自分の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)
    }

今では、taglibsのようなさまざまなリソースがどのように見つかるかについて、100%確信が持てませんが、すべてのtaglibsは、通常のgrailslibsと同様に正常に機能します。

私が抱えている問題は、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) 
4

1 に答える 1

2

taglibには問題があります。問題は、htmlの大文字と小文字が区別されないため、htmlをクリーンアップするために使用するライブラリがタグを小文字に正しく変換することでした。これに伴う問題は、grailsタグでは大文字と小文字が区別されるため、タグ「isLoggedIn」が見つからないことです。

于 2009-10-24T04:55:53.317 に答える