जवाबों:
जून 2002: JSTL 1.0 को पहली बार EL के साथ पेश किया गया था। यह वे ${}
चीजें थीं जो केवल JSTL टैग में काम करती हैं। यह Javabean get
तरीकों को कॉल करने के लिए डिज़ाइन किया गया है ।
नवंबर 2003: JSP 2.0 पेश किया गया था और EL को javax.servlet.jsp.el
पैकेज में JSTL 1.0 से JSP 2.0 में स्थानांतरित किया गया था और यह J2EE 1.4 मानक के हिस्से के रूप में मानक EL बन गया । JSTL 1.1 को EL के बिना भेज दिया गया था। अब ${}
JSTL टेम्प्लेट टेक्स्ट में JSTL टैग के बाहर भी काम करता है।
मार्च 2004: JSF 1.0 को पैकेज में आस्थगित ईएल के साथ पेश किया गया था javax.faces.el
। यह वे #{}
चीजें थीं जो जेएसएफ टैग के अंदर ही काम करती हैं। मानक JSP ईएल के साथ अंतर ${}
यह है कि यह न केवल करता है get
, बल्कि यह भी कर सकता है set
। यह प्रबंधित बीन ऑटो-निर्माण और इनपुट घटकों के मूल्यों को निर्धारित करने के लिए अनिवार्य था। ${}
जेएसएफ आउटपुट टैग में मानक ईएल काम करता है, लेकिन यदि वे अभी तक दायरे में मौजूद नहीं हैं, तो वे ऑटो-बीन्स नहीं बनाएंगे और वे इनपुट वैल्यू सेट नहीं करेंगे।
मई 2005: अभी भी नए JSP 2.1 की तैयारी की जा रही है, जिसे मई 2006 में जारी किया जाना चाहिए, आस्थगित EL #{}
को JSF से हटा दिया गया और पैकेज ${}
में मानक EL के साथ जोड़ दिया गया javax.el
। उस बिंदु पर, यह एकीकृत EL बन गया जिसे JSF 1.2 के साथ पेश किया गया था और बाद में JSP 2.1 और Java EE 5 मानक का हिस्सा बन गया। #{}
अब भी करने के लिए JSP टैग में इस्तेमाल किया जा सकता get
मूल्यों, लेकिन करने के लिए नहीं set
मान। ${}
अब JSP में भी ऑटो बनाने में कामयाब कर सकते हैं सेम, लेकिन नहीं set
मान।
नवंबर 2006: फेसलेट्स को JSP के उत्तराधिकारी के रूप में पेश किया गया था। इसने #{}
JSF टैग के बाहर टेम्प्लेट पाठ के उपयोग की अनुमति दी , <h:outputText>
बिना किसी विशेषता के विकल्प के रूप में । यह भी व्यवहार ${}
करता है #{}
, इसलिए वे दोनों फेसलेट्स में समान व्यवहार करते हैं।
दिसंबर 2009: EL को JSP विनिर्देश से निकाला गया और एक स्टैंडअलोन विनिर्देश बन गया जिसे JSP से स्वतंत्र रूप से बनाए रखा जाएगा, पहला संस्करण EL 2.2 (JSR-245) है, जो JSP 2.2 के अनुरूप है। मुख्य नई सुविधा केवल जावाबैन गेटर्स / #{}
सिंटैक्स के अंदर बसने वाले कॉल के बजाय पैरामीटर तरीके कह रही है , जैसे #{bean.method(argument)}
। इसके अलावा, फेसलेट्स जावा ईई 6 मानक का हिस्सा बन गया।
जून 2013: ईएल 3.0 पेश किया गया था जो एक स्टैंडअलोन ईएल प्रोसेसर के साथ आता है, जो एक सादे जावा एसई एप्लिकेशन में उपयोग की अनुमति देता है। अन्य मुख्य नई विशेषताएँ नई स्ट्रिंग संघनन ऑपरेटर हैं +=
, संग्रह वस्तुओं के लिए नए संचालन, जिसमें स्ट्रीम और लैंबडा एक्सप्रेशन ->
(यहां तक कि जावा 6/7 पर!) और एलए गुंजाइश में स्थिरांक आयात शामिल हैं।
BalusC के जवाब में जोड़ना ...
मूल रूप से 2001 में कला प्रौद्योगिकी समूह के नाथन अब्रामसन द्वारा ईएल की कल्पना की गई थी और इसे लागू किया गया था। उस समय कार्यान्वयन को सरलतम संभावित अभिव्यक्ति भाषा (SPEL) के रूप में जाना जाता था। कार्यान्वयन को बाद में JSTL1.0 में शामिल किया गया। नाथन JSR-052 विशेषज्ञ समूह का हिस्सा था , और इसे अभिव्यक्ति भाषा के पीछे ड्राइविंग बल के रूप में JSTL विनिर्देशन में श्रेय दिया गया था ।
"JSTL में शुरू की गई अभिव्यक्ति भाषा के पीछे एक प्रेरणा शक्ति होने के लिए नाथन अब्रामसन का विशेष उल्लेख"