2012-05-15 27 views
7

पर रखता है मैंने एक टैगलिब लिखा है जो कुछ तर्क निष्पादित करता है और कुछ डेटा HTML में बुना जाता है। जब मैं एक दृश्य में टैगलिब का उपयोग करता हूं, तो टैगलिब दृश्य के सापेक्ष सबफ़ोल्डर में टेम्पलेट ढूंढने की अपेक्षा करता है। क्या कोई तरीका है जिसमें मैं टैगलिब को लेआउट को एक सामान्य फ़ोल्डर से लेआउट/फ़ोल्डर में देख सकता हूं।Grails: एक टैगलिब लिखना जो डेटा प्रस्तुत करने के लिए टेम्पलेट का उपयोग करता है और इसे नियंत्रक अज्ञेय

class IconifiedTextTagLib { 

def renderIconText = { attrs, body -> 
       //some processing logic to generate the modelMap 
     out << render(template:"taglibTemplates/iconText", model:modelMap) 
    } 
} 

जब मैं कहता हूँ में एक नियंत्रक नामक एक <g:renderIconText /> टैग का उपयोग, तो यह उम्मीद taglibTemplates/iConTextविचारों/ए/ में उपस्थित होने के लिए: यह कैसे taglib कोड लग रहा है फ़ोल्डर। यह एक समस्या है क्योंकि मुझे इसे एकाधिक नियंत्रकों से उपयोग करने में सक्षम होना चाहिए। मुझे टेम्प्लेट को लेआउट जैसे फ़ोल्डर में रखने का एक तरीका चाहिए/ताकि सभी विचारों में इसका उपयोग किया जा सके। इस पर कोई विचार है कि मैं यह कैसे कर सकता हूं? views/taglibTemplates/ में

उत्तर

9

रखें टेम्पलेट और कोशिश:

out << render(template:"/taglibTemplates/iconText", model:modelMap) 

या `में देखा गया/ए/', और

out << render(template:"/A/iconText", model:modelMap) 
+2

अच्छी तरह से अग्रणी/गायब हो गया है। यह बात बताने के लिए धन्यवाद। –

1
grails 2.3.8 पर

मैं ऐसे

के रूप में इस्तेमाल किया था सुनिश्चित करें कि टेम्पलेट फ़ाइल नाम अंडरस्कोर

_mytemplate.gsp 
के साथ शुरू होता है

आपकी टैग लाइब्रेरी कक्षा

out << g.render(template: '/taglibTemplates/mytemplate')