अगर मैं कार्य करें:क्या एक जेएसपी टैग फ़ाइल जेएसपी के पेज कॉन्टेक्स्ट को कॉल कर सकती है?
<% pageContext.setAttribute("foo", "bar"); %>
<custom:myTag/>
ऐसा लगता है जैसे मैं ऐसा करने में सक्षम होना चाहिए:
<%= pageContext.getAttribute("foo") %>
myTag.tag के अंदर ... लेकिन निश्चित रूप से मैं नहीं कर सकता क्योंकि टैग फ़ाइल नहीं करता है पेज कॉन्टेक्स्ट तक पहुंच नहीं है (इसके बजाय इसमें एक jspContext तक पहुंच है ... जिसमें कॉलिंग पेज के पेज कॉन्टेक्स्ट के समान गुण नहीं हैं)।
${pageContext}
लेकिन यह मदद नहीं करता है क्योंकि ELScript तर्क पास करने का कोई तरीका नहीं है, तो आप ऐसा नहीं कर सकते:
अब, आप ELScript के माध्यम से pageContext उपयोग कर सकते हैं
${pageContext.getAttribute("foo")}
हालांकि, तथ्य यह है कि ईएलस्क्रिप्ट पृष्ठ संदर्भ तक पहुंच सकता है, और तथ्य यह है कि टैग jspContext जैसे सभी प्रकार के चरों तक पहुंच सकता है, कि किसी टैग को एक्सेस करने के लिए कुछ तरीका होना चाहिए (स्क्रिप्टलेट/जावा तर्क तरीके से, न केवल इन ईएलस्क्रिप्ट) जेएसपी के पेज कॉन्टेक्स्ट को कॉल करने से एक विशेषता।
क्या वहां है?
धन्यवाद, लेकिन बात यह है कि, मुझे पहले से ही वेरिएक्स्ट में इच्छित चर मिल चुके हैं, और पर्याप्त (विरासत) कोड जो उन्हें संदर्भित करता है कि मैं उन्हें विशेषताओं के अनुरोध के लिए बदलना नहीं चाहता हूं। इसलिए मैं अनुरोध में डुप्लिकेट प्रतियां भी डाल सकता हूं, लेकिन मुझे उम्मीद थी कि ऐसा करने का कोई और तरीका था। ओह, और इन चरों को बहुत सारे टैग में बहुत कम किया जा रहा है यदि मैं उन्हें गुण देता हूं, तो मैं वास्तव में "दृश्यों के पीछे" समाधान की उम्मीद कर रहा था। यदि टैग से जेएसपी के पेज कॉन्टेक्स्ट तक पहुंचने के लिए कोई रास्ता नहीं है ... अनुमान है कि मैं भाग्य से बाहर हूं :-( – machineghost
आप वास्तविक पेज संदर्भ (पेजकॉन्टेक्स्ट) getJspContext() के साथ केवल वास्तविक पृष्ठ संदर्भ तक पहुंच सकते हैं। नीचे मेरा उत्तर देखें। –
@ जेसन: सवाल उस बारे में नहीं था। – BalusC