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 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 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 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 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 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).

Kategória:Programozási nyelvek Kategória:Java