20.4 Die Expression Language (EL) 

Seit JSP 2.0 lassen sich mit der Expression Language (EL) Ausdrücke schreiben, und es ist möglich, auf Geschäftsdaten zuzugreifen.
Listing 20.5 el.jsp
${10 mod 4} == 2
${(10*10) ne 100} == false
${"tutego" == 'tutego'} == trueDas Ergebnis des EL-Ausdrucks wird in die Seite geschrieben.
EL nicht verarbeiten
Um das Verarbeiten von EL-Ausdrücken für eine Seite zu unterbinden, ist folgende Zeile in die JSP aufzunehmen:
<jsp:directive.page isELIgnored="true" %>
20.4.1 Operatoren der EL 

Die EL kennt die bekannten Java-Operationen, fügt aber alternative Schreibweisen hinzu, sodass zum Beispiel statt ${12 / 3} auch ${12 div 3} gestattet ist.
| Operator | Beschreibung |
|
+, - |
Addition, Subtraktion |
|
* |
Multiplikation |
|
/, div |
Division |
|
%, mod |
Modulo (Rest) |
|
==, eq |
Gleichheit |
|
!=, ne |
Ungleichheit |
|
<, lt |
kleiner als |
|
>, gt |
größer als |
|
<=, le |
kleiner gleich |
|
>=, ge |
größer als |
|
&&, and |
logisches Und |
|
||, or |
logisches Oder |
|
!, not |
Boolean Komplement |
|
a ? b : c |
Bedingungsoperator |
|
empty |
Testet, ob ein Wert null oder leer ist. |
20.4.2 Literale 

Wie die Programmiersprache Java definiert die JSP Expression Language Literale:
- Boolean. Mit den Werten true and false
- Ganzzahlen. Wie in Java etwa 24, –45, 567
- Fließkommazahlen. Auch wie in Java, etwa –1.8E-45, 4.567
- String. Zeichenkette, die entweder in einfachen oder doppelten Anführungsstrichen steht. Es gibt keine Unterscheidung zwischen einzelnen Zeichen und Zeichenketten; die EL kennt nur Strings.
- Null. Null
20.4.3 Implizite EL-Objekte 

Der Web-Container stellt einige vorinitialisierte Objekte bereit, auf die ein EL-Ausdruck zurückgreifen kann.
Listing 20.6 implicit.jsp
${pageContext.request.contextPath} <br/>
${header.host} <br/>
${pageContext.servletContext.servletContextName}Die Ausgabe könnte sein:
localhost:8080 /web 20_JSPServlets
Eine ganze Reihe von impliziten EL-Objekten arbeitet als Assoziativspeicher.
|
param |
Request-Parameter |
|
paramValues |
Parameter-Namen und Werte im Feld |
|
header |
Header-Namen |
|
headerValues |
Header-Namen und Belegungen im Feld |
|
cookie |
Cookie-Name mit Cookie-Objekt |
|
initParam |
Parameter aus Kontext-Initialisierung |
Das implizite Objekt pageContext (keine Map) ist Start für Unterelemente:
|
ServletContext |
Repräsentiert den ServletContext. |
|
Session |
Steht für die aktuelle HttpSession. |
|
Request |
ServletRequest der Anfrage |
|
Response |
ServletResponse des Ergebnisses |
Außerdem verwalten vier implizite Objekte pageScope, requestScope, sessionScope und applicationScope Objekte in einem der vier Gültigkeitsbereiche.




Jetzt bestellen







