मुझे बस यही समस्या थी और यह पता लगाने की कोशिश कर रहा था कि क्या गलत था।
मैंने स्क्रैच से कई वेब ऐप्स विकसित किए हैं। अचानक यह क्यों सहयोग नहीं कर रहा था?
इस बार एक अंतर था जब मैंने परियोजना संरचना उत्पन्न करने के लिए मेवेन वेबपैप आर्केटाइप का उपयोग किया था। एक बार जब मुझे एहसास हुआ कि मेरी समस्या के रूप में, मुझे यकीन है कि मैं इस सवाल का जवाब था कि
<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd" >
<web-app>
<display-name>Archetype Created Web Application</display-name>
</web-app>
: यह एक web.xml फ़ाइल है कि इस तरह देखा बनाया। तो मैंने अपने 2.5 वेब.एक्सएमएल हेडर में से एक की प्रतिलिपि बनाई, पुनर्निर्मित और पुनर्निर्मित किया। कोई सिगार नहीं। विश्वास नहीं कर सका कि समस्या नहीं थी। परियोजना को साफ किया, टोमकैट को फिर से शुरू किया। नहीं।
आरएचसीगर के जवाब ने मुझे <% @ पृष्ठ isELIgnored = "false"%> डालने का प्रयास करने का नेतृत्व किया। इसने समस्या को हल किया। लेकिन मैं अभी भी जानना चाहता था कि क्यों शुरू करने के लिए एल को अनदेखा करना शुरू कर दिया।
मुझे लगा कि एल को मेरे web.xml के साथ कुछ गलत होने के कारण अनदेखा किया जा रहा था, इसलिए मैंने इसे किसी अन्य वेबैप के वेब.एक्सएमएल की तुलना में बारीकी से निरीक्षण किया जो मुझे पता था कि ठीक काम किया गया था। कोई उल्लेखनीय मतभेद नहीं।
तब मैं अपने JSP से <% @ page isELIgnored = "false"%> हटाया, और पुन: वितरित, यह मानते हुए एल फिर से मूल्यांकन नहीं किया जाएगा, लेकिन मेरे आश्चर्य करने के लिए बहुत, एल ठीक से मूल्यांकन किया गया था!
फिर, यह पता लगाना कि यह किसी प्रकार की कैशिंग समस्या होनी चाहिए, मैं समस्या को फिर से बनाने के लिए web.xml में अपने परिवर्तनों को कम करता हूं। मैंने फिर से तैनात किया, लेकिन फिर भी खराब वेब का मूल्यांकन किया जा रहा था, यहां तक कि खराब web.xml के साथ भी। तब मैंने अपनी पूरी परियोजना को साफ किया (मैं एक विस्फोटित तैनाती का उपयोग कर रहा हूं), विस्फोटित निर्देशिका को दूर कर रहा हूं और इसे पुनर्निर्माण कर रहा हूं। फिर मैंने टोमकैट को फिर से शुरू किया। फिर भी, खराब वेब.एक्सएमएल के बावजूद एल को सही तरीके से मूल्यांकन किया जा रहा था।
अंततः यह मेरे सामने आया।मैंने बस जेएसपी में किसी स्थान पर एक जगह जोड़ा, इसे दोबारा बनाया, और पेज को रीफ्रेश किया। बिंगो! अब एल का मूल्यांकन नहीं हो रहा था।
तो समस्या वेब.xml के साथ समस्या थी। यह इस तथ्य से और जटिल होगा कि जब तक वे बदल नहीं गए थे तब तक जेएसपी को फिर से तैयार नहीं किया जा रहा था। यह सुनिश्चित करने के लिए कि क्या जेएसपी को पुन: सम्मिलित करने की आवश्यकता है या नहीं, यह सुनिश्चित करने के लिए टॉमकैट एमडी 5 योग का उपयोग करता है या नहीं। एक और संभावना यह है कि मैं टाइल्स का उपयोग कर रहा हूं, जो मुझे पता है कि एक कैशिंग तंत्र है, लेकिन मैं उम्मीद नहीं करता कि टॉमकैट फिर से शुरू हो जाए।
वैसे भी, जब तक आप वेब.एक्सएमएल को ठीक करने के बाद अपने जेएसपी को संशोधित नहीं करते हैं, तो सभी दांव इस बात से दूर हैं कि ईएल फिर से काम करना शुरू कर देगा या नहीं। उम्मीद है कि यह किसी और को सिरदर्द बचाता है। मुझे कोई दिलचस्पी है अगर कोई मुझे बता सकता है कि क्या यह जेएसपी या जेएसपी के आउटपुट को कैश करने वाले जेएसपी या टाइल्स को दोबारा नहीं कर रहा है। मुझे पूरा यकीन है कि यह पुन: संकलित है, क्योंकि संकलन समय पर जब जेएसपी को यह पता लगाना चाहिए कि $ {} el अभिव्यक्तियों के साथ क्या करना है, है ना? टाइल्स वास्तव में कैश नहीं कर सकता जो एल अभिव्यक्तियों में प्रतिस्थापित हो जाता है, अन्यथा सभी प्रकार की समस्याएं उत्पन्न होती हैं।
बिलाव 5.5 पर, देखते हैं दो संभावित कारण (केवल?): Web.xml में अवैध स्कीमा, या el- अनदेखा विन्यास विकल्प। –
I (और अन्य) के पास एक पृष्ठ ठीक काम कर रहा है और, पृष्ठ पर कुछ बदलने के बाद (यानी, कुछ HTML जोड़ना), यह केवल ईएल अभिव्यक्तियों का मूल्यांकन करना बंद कर देता है। एकमात्र स्पष्टीकरण जो मैं साथ आ सकता हूं वह कहीं भी टॉमकैट में एक बग है, लेकिन इसे मैन्युअल रूप से सक्षम करने के बाद से बहुत गहरी खुदाई करने योग्य नहीं है (ऊपर दिए गए कोड के माध्यम से) समस्या का समाधान करता है। – RHSeeger
यदि आपने अपना वेबपैप मैवेन आर्केटाइप के साथ बनाया है तो सही उत्तर यह है: http://stackoverflow.com/a/25372735/20654 – OscarRyz