Unified Expression Language
Ez a szócikk nem tünteti fel a független forrásokat, amelyeket felhasználtak a készítése során. Emiatt nem tudjuk közvetlenül ellenőrizni, hogy a szócikkben szereplő állítások helytállóak-e. Segíts megbízható forrásokat találni az állításokhoz! Lásd még: A Wikipédia nem az első közlés helye. |
A Java Unified Expression Language (UEL) egy speciális célú programozási nyelv, melyet legtöbbször webalkalmazásokban használnak kifejezéseknek a weblapba ágyazására. A Java specifikáció készítői, és a Java többrétegű webes technológiák szakértői csoportjai egy olyan leírónyelvet szerettek volna létrehozni, amely már része a JSP 2.1 specifikációnak (JSR-245). Bár a leírónyelv része a JSP specifikációnak, nem függ tőle, így nagy számú más technológia áll rendelkezésére.
Története
[szerkesztés]Az EL a JSP Tag könyvtár (JavaServer Pages Standard Tag Library - JSTL) részeként jött létre, kezdetben neve pedig SPEL (Simplest Possible Expression Language) volt. Egyszerű hozzáférést adott data object-ekhez, azonban az évek során egyre több kifinomult funkciót olvasztott magába, fejlesztői körökben növekvő népszerűsége és sikere miatt pedig a JSP 2.0 specifikációnak is részévé vált.
Még a JSP 2.0 fejlesztésével egy időben került ki a JavaServer Faces technológia, mely szintén igényelte az EL használatát. Annak ellenére azonban, hogy az EL-t a JSP 2.0 specifikálja, nem elégít ki minden fejlesztői igényt, melyet a JSF támaszt felé. A legnyilvánvalóbb megszorítás abban nyilvánul meg, hogy kifejezései azonnal kiértékelődnek. Ezen felül a JSF komponensek számára szükséges egy módszer, mellyel hivatkozhatnak szerver oldali objektumokra. Így egy kifinomultabb nyelvet definiáltak ami az alábbi szolgáltatásokat biztosította:
- Elhalasztott kifejezések, melyek nem azonnal értékelődnek ki
- Kifejezések, melyek nem csak lekérhetnek, hanem be is állíthatnak adatokat
- Kifejezések, melyek meghívhatnak metódusokat
Az új nyelv jól ellátta a JSF által igényelt feladatokat, a fejlesztők azonban problémákba ütköztek a JSF EL és a JSP EL integrálása során a felmerülő konfliktusok feloldásakor. Ezen inkompatibilitási pontok miatt az Egyesített EL kezdetben ezeket a nyelveket próbálta egyesíteni. Végül a JSP 2.1-gyel a JSP 2.0 EL és a JSF 1.1 EL egyetlen közös leírónyelvvé való egyesítése jött létre (EL 2.1).
Szolgáltatások
[szerkesztés]Az egységesített EL a JSP EL és a JSF EL nyelvek egy egyesítése, uniója. A JSP EL által biztosított szolgáltatásokon túl az egységesített EL az alábbi szolgáltatásokat biztosítja:
- Elhalasztott kiértékelés
- Értékek beállítását, és metódushívást végző kifejezések támogatása
- Egy egységes API kifejezések feloldására
Példák
[szerkesztés]Egy példa, mely az Egyesített EL használatát mutatja egy JSTL "c:out" tagban:
<c:out value="${myBean.myField}" />
Kifejezés, mely egy metódust hív meg egy paraméterrel:
${myBean.addNewOrder('orderName')}
Implementációk
[szerkesztés]A JUEL az Egységesített Kifejezésnyelv egy nyílt forráskódú implementációja. A szolgáltatások mindegyikét biztosítja, és az Apache License 2.0 engedélyével rendelkezik. A JUEL felhasználható nem JSP-t használó alkalmazások készítésére is.
Külső hivatkozások
[szerkesztés]- JSR 245: JavaServer Pages 2.1
- Unified Expression Language (article at oracle.com)
- Unified Expression Language for JSP and JSF (article at java.net)
- JUEL is an implementation of the Unified Expression Language (EL), specified as part of the JSP 2.1 standard (JSR-245).