في عداد المفقودين taglib عند استخدام GroovyPagesTemplateEngine

StackOverflow https://stackoverflow.com/questions/1616861

  •  06-07-2019
  •  | 
  •  

سؤال

ولقد تم تجهيز المحتوى الديناميكي 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 تعمل بشكل جيد كما يفعل الكؤوس المقدسة العادية يبس.

والمشكلة لدي هو لم يتم العثور على العلامات التي 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) 
هل كانت مفيدة؟

المحلول

وكانت taglib موجود المشكلة أن مكتبة يمكنني استخدامها لتنظيف أتش تي أم أل جدا بحق تحويل العلامات إلى أحرف صغيرة منذ أتش تي أم أل هو لا يتحسس. والمشكلة مع ذلك هو أن علامات الكؤوس المقدسة حساسة لحالة الأحرف، لذلك لم يتم العثور على سمة "isLoggedIn".

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top