2008-10-23 20 views
7

क्या कोई जेएसपी कस्टम टैग पुस्तकालयों और जेएसपी 2 टैग फाइलों के पीछे विचार को समझा सकता है?जेएसपी कस्टम टैग लाइब्रेरी बनाम जेएसपी 2 टैग फ़ाइलें

क्या वे एक ही काम करने के लिए अलग-अलग तरीके हैं?

वे तुलना कैसे करते हैं? उनके पेशेवर और विपक्ष क्या हैं, और कौन सा बेहतर है?

उत्तर

8

मैं < 3 टैग फ़ाइलें, लेकिन JSTL की कि नेतृत्व डेवलपर धूम्रपान दरार यदि वे वास्तव में ही कहा है। आप नहीं टैग फ़ाइल टैग के रूप में सभी टैग पुस्तकालय टैग, एक बहुत ही महत्वपूर्ण कारण के लिए फिर से लिख सकते हैं: टैग फ़ाइलें नहीं कर सकते:

वापसी EVAL_BODY_INCLUDE;

खाली: कोई भीतरी सामग्री, यानी

दूसरे शब्दों में, टैग फ़ाइलों को केवल उनके शरीर-सामग्री के लिए तीन विकल्प हैं। < someTag/>

scriptless: कोई JSP भीतरी सामग्री, अर्थात्। <someTag> < पी > हैलो दुनिया </p > </someTag > ठीक है, लेकिन नहीं <someTag> < पी > <% = helloWorld.toString()% > </p > </someTag >

टैग पर निर्भर: आपके पास जेएसपी आंतरिक सामग्री हो सकती है, लेकिन इसे इस तरह संसाधित नहीं किया जाएगा; इसके बजाय आप पार्स/प्रस्तुत करना यह हालांकि आप को देखने के लिए फिट

लेकिन पुरानी शैली टैग पुस्तकालय टैग के साथ, आप कर सकते हैं: < शरीर सामग्री > JSP </शरीर सामग्री > (TLD फ़ाइल में) और फिर "EVAL_BODY_INCLUDE वापस करें;" अपने "doStartTag" से। यदि आप ऐसा करते हैं, तो अपने JSP निर्देशों के सभी पार्स जाएगा करने के बस के रूप में यदि वे आपके पेज का एक सामान्य हिस्सा थे और अपने टैग बस उपयुक्त सामग्री के साथ उन्हें गिर्द घूमती है।

व्यक्तिगत रूप से, अंगूठे का मेरा नियम है: उपयोग टैग फ़ाइलों जब भी आप कर सकते हैं, यानी। आप टैग के अंदर काम करने के लिए है, क्योंकि वे एक लाख गुना कर रहे हैं क्लीनर, एक गैर प्रोग्रामर के साथ काम करने के लिए आसान है, एक टीएलडी की आवश्यकता नहीं है (JSP निर्देशों की जरूरत नहीं है, जब भी अच्छी तरह से, अगर आप से एक अलग नाम स्थान में उन्हें रखना आपका टैग लाइब्रेरी टैग)।

लेकिन आप अपने टैग के अंदर JSP सामग्री चाहते हैं, तो अपने ही एकमात्र विकल्प टैग पुस्तकालय टैग है। उम्मीद है कि, किसी दिन, JSP लोग एक टैग फ़ाइल टैग के अंदर JSP निर्देश प्रसंस्करण करने के लिए एक तरह से जारी करेंगे, और फिर हम वास्तव में पुराने वर्ग आधारित टैग को त्याग सकते हैं, लेकिन तब तक टैग फाइलों के साथ सभी टैग करने की कोशिश नहीं करते कृपया , क्योंकि आप तर्क के हर अंतिम टुकड़े के लिए कस्टम टैग बनाने के लिए जल्दी ही कम हो जाएंगे (क्योंकि जेएसपी निर्देशों का उपयोग किए बिना तर्क करने का यही एकमात्र तरीका है)।

6

समस्याएं कस्टम टैग

पारंपरिक कस्टम टैग का विकास जावा कौशल प्रोग्रामिंग की आवश्यकता है।

सभी सरलतम कस्टम टैग लिखना आसान नहीं है।

सर्वलेट्स के विपरीत जेएसपी का उद्देश्य मार्कअप भाषा का उपयोग एम्बेडेड गतिशील सामग्री के साथ लेआउट प्रबंधित करने के लिए करना है।

मार्कअप भाषा पर ध्यान केंद्रित करने वाले कस्टम टैग में जटिल जावा कोड लिखने के लिए पीछे की ओर जा रहा है।

हम एक नया कस्टम टैग लागू करते समय जेएसपी अभिव्यक्ति भाषा या अन्य कस्टम टैग का उपयोग करना चाहेंगे।

समाधान JSP 2.0 टैग फ़ाइलें

  • टैग फ़ाइलों JSP 2.0 के साथ पेश किया महत्वपूर्ण नई अवधारणाओं में से एक हैं।
  • टैग फ़ाइलें कस्टम टैग की आसान और अधिक तेज़ी से विकास की अनुमति देती हैं।
  • टैग फ़ाइलों को सामान्य जेएसपी वाक्यविन्यास का उपयोग करके विकसित किया जाता है, जिसमें स्क्रिप्टिंग तत्व शामिल हैं, और किसी भी अन्य कस्टम टैग की तरह उपयोग किया जाता है।
  • प्रत्येक कस्टम टैग एक अलग टैग फ़ाइल है।

टैग फ़ाइलें कैसे भिन्न होती हैं?

जेएसपी वाक्यविन्यास का उपयोग करके लिखित।

  • टैग फ़ाइल में सभी जेएसपी निर्देशों की अनुमति नहीं है।
  • नई टैग फ़ाइल विशिष्ट निर्देशों, कार्यों और निहित वस्तुओं द्वारा समर्थित।

या तो एक .tag या .tagx प्रत्यय द्वारा की पहचान की।

कस्टम टैग डेवलपर्स को कार्यक्षमता के नुकसान के बिना विकास की आसानी प्रदान करने का इरादा है।

  • जेएसटीएल के प्रमुख डेवलपर्स में से एक ने टिप्पणी की है कि उसके पास समय था, वह टैग फ़ाइलों का उपयोग कर सभी जेएसटीएल को फिर से लिख देगी।
संबंधित मुद्दे