A Java Unified Expression Language (UEL) egy speciális célú programozási nyelv, melyet legtöbbször webalkalmazásokban használnak az objektumok elérésére és kifejezések 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, mégsem függ tőle.
Az objektumok elérésére két féle szintaxist használhatunk. Az egyik csak olvasni képes az adott attribútumot és azonnal kiértékelésre kerül. Míg a másik olvasni és írni egyaránt képes az objektum tulajdonságait. Kiértékelése függ a használt komponenstől és a JSF életciklusától, hogy éppen melyik fázisában van.
| Típus | Érték | Leírás |
|---|---|---|
| Boolean | true, false | Boolean típust igazság meghatározására használjuk. Értéke igaz vagy hamis lehet. |
| Integer | Egész | 32 bit kettes komplemens (-2147483648 - 2147483647) |
| String | pl: "Hello World" | Idézőjeke között elhelyezett karakter, karakterlánc |
| Null | null | A vizsgált változó nem létezik, nincs hozzárendelve érték |
| Aritmetikai kifejezés | Eredmény |
|---|---|
| #{3+2-1} | 4 |
| #{"1"+2} | 3 |
| #{1 + 2*3 + 3/4} | 7.75 |
| #{3%2} | 1 |
| #{(8 div 2) mod 3} | 1.0 |
| Relációs kifejezés | Eredmény |
|---|---|
| #{1 lt 2} | true |
| #{"a" lt "b"} | true |
| #{2/3 ge 3/2} | false |
| #{3/4 == 0.75} | true |
| #{null == "test"} | false |
| Logikai kifejezés | Eredmény |
|---|---|
| #{(1 lt 2) and (4 lt 3)} | false |
| #{(1 lt 2) or (4 lt 3)} | true |
| #{!(1 lt 2)} | false |
| Empty operátor | Eredmény |
|---|---|
| #{empty ""} | true |
| #{empty null} | true |
| #{empty param.blah} | true |
A JSF keretrendszerben legtöbbet alkalmazott adatszerkezetek az Array, List és a Map. A bennük tárolt adatokat a következő módok egyikéve érhetjük el.
| Adatszerkezet | Adat elérése | Ekvivalens java-kód |
|---|---|---|
| Array | bean.arrayfield[i] | bean.getArrayField()[i] |
| List | bean.listfield[i] | bean.getListField().get(i) |
| Map | bean.mapfield[key] | bean.getMapField().get(key) |