Unified Expression Language

A Wikipédiából, a szabad enciklopédiából

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]