मैं अपने दृश्य को व्यवस्थित करने के तरीके को चुनने वाला हूं (स्प्रिंग-एमवीसी के साथ, लेकिन यह ज्यादा मायने नहीं रखना चाहिए)
जहाँ तक मैं देख रहा हूँ 6 विकल्प हैं (हालाँकि वे परस्पर अनन्य नहीं हैं):
- टाइल्स
- Sitemesh
- Freemarker
- वेग
<jsp:include>
<%@ include file="..">
टाइलें और सितमेश को समूहीकृत किया जा सकता है; तो फ्री पासवर्डर और वेलोसिटी हो सकता है । उपयोग करने के लिए प्रत्येक समूह में से कौन एक इस चर्चा का विषय नहीं है, इसके बारे में पर्याप्त प्रश्न और चर्चाएं हैं।
यह एक दिलचस्प रीड है , लेकिन मुझे टाइल्स का उपयोग करने के लिए काफी आश्वस्त नहीं कर सकता।
मेरा प्रश्न है - ये रूपरेखाएँ क्या देती हैं जो <@ include file="..">
JSTL के साथ ठीक से नहीं की जा सकतीं। मुख्य बिंदु (कुछ लेख से लिया गया है):
शीर्षलेख और पाद लेख जैसे पृष्ठों के कुछ हिस्सों को शामिल करना - इनमें कोई अंतर नहीं है:
<%@ include file="header.jsp" %>
तथा
<tiles:insert page="header.jsp" />
हेडर में मापदंडों को परिभाषित करना - जैसे शीर्षक, मेटा टैग आदि, यह बहुत महत्वपूर्ण है, विशेष रूप से एसईओ दृष्टिकोण से। टेम्प्लेटिंग विकल्पों के साथ आप एक प्लेसहोल्डर को परिभाषित कर सकते हैं जिसे प्रत्येक पृष्ठ को परिभाषित करना चाहिए। लेकिन इसलिए आप JSTL के साथ jsp में ,
<c:set>
(<c:out>
सम्मिलित पृष्ठ में ) और (शामिल पृष्ठ में) का उपयोग कर सकते हैंलेआउट पुनर्गठन - यदि आप मेनू के ऊपर ब्रेडक्रंब को स्थानांतरित करना चाहते हैं, या किसी अन्य साइड-पैनल के ऊपर लॉगिन बॉक्स। यदि पृष्ठ समावेशन (jsp के साथ) अच्छी तरह से व्यवस्थित नहीं है, तो आपको ऐसे मामलों में हर एक पृष्ठ को बदलने की आवश्यकता हो सकती है। लेकिन अगर आपका लेआउट अत्यधिक जटिल नहीं है, और आप सामान्य चीजों को हेडर / फुटर में डालते हैं, तो चिंता की कोई बात नहीं है।
सामान्य घटकों और विशिष्ट सामग्री के बीच युग्मन - मुझे इसमें कोई समस्या नहीं आती। यदि आप कुछ अंशों का पुन: उपयोग करना चाहते हैं, तो इसे ऐसे पृष्ठ पर ले जाएं, जिसमें कोई शीर्ष लेख / पाद लेख शामिल नहीं है, और जहाँ भी आवश्यक हो, इसे शामिल करें।
दक्षता -
<%@ include file="file.jsp" %>
किसी भी चीज़ की तुलना में अधिक कुशल है, क्योंकि यह एक बार संकलित है। अन्य सभी विकल्पों को कई बार पार्स / निष्पादित किया जाता है।जटिलता - सभी गैर-जेएसपी समाधानों के लिए अतिरिक्त xml फ़ाइलों की आवश्यकता होती है, अतिरिक्त शामिल हैं, पूर्व-प्रोसेसर कॉन्फ़िगरेशन, आदि। यह एक सीखने की अवस्था है और विफलता के अधिक संभावित बिंदुओं को पेश कर रहा है। इसके अलावा, यह समर्थन और अधिक थकाऊ परिवर्तन करता है - आपको यह समझने के लिए कि क्या हो रहा है, कई फाइलों / कॉन्फ़िगरेशन की जांच करनी होगी।
प्लेसहोल्डर - क्या JSTL की तुलना में वेग / फ़्रीमार्कर कुछ भी देता है? जेएसटीएल में आप प्लेसहोल्डर डालते हैं और इन प्लेसहोल्डर्स को भरने के लिए मॉडल (रिक्वेस्ट या सेशन स्कोप द्वारा, कंट्रोलर्स द्वारा) का इस्तेमाल करते हैं।
इसलिए, मुझे समझाएं कि मुझे सादे JSP के अलावा / के बजाय ऊपर के किसी भी फ्रेमवर्क का उपयोग करना चाहिए।