14.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 14.5: el.jsp
${10 mod 4} == 2
${(10*10) ne 100} == false
${"tutego" == 'tutego'} == true
Das 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" %>
14.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 als | 
| >=, ge | größer gleich als | 
| &&, and | logisches Und | 
| ||, or | logisches Oder | 
| !, not | Boolean-Komplement | 
| a ? b : c | Bedingungsoperator | 
| empty | Testet, ob ein Wert null oder leer ist. | 
14.4.2 Literale

                                                Wie die Programmiersprache Java definiert die JSP Expression Language Literale:
- Boolean: mit den Werten true und 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 in doppelten Anführungsstrichen steht. Es gibt keine Unterscheidung zwischen einzelnen Zeichen und Zeichenketten; die EL kennt nur Strings.
- Null: Null
14.4.3 Implizite EL-Objekte
                                                Der Web-Container stellt einige vorinitialisierte Objekte bereit, auf die ein EL-Ausdruck zurückgreifen kann:
Listing 14.6: implicit.jsp
${pageContext.request.contextPath} <br/>
${header.host} <br/>
${pageContext.servletContext.servletContextName}
Die Ausgabe könnte sein:
localhost:8080
/web
2_16_JSP_Servlets
Eine ganze Reihe von impliziten EL-Objekten arbeitet als Assoziativspeicher.
| EL-Objekt | Funktion | 
| 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 der Startpunkt für Unterelemente:
| pageContext | Funktion | 
| 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.
Ihr Kommentar
Wie hat Ihnen das <openbook> gefallen? Wir freuen uns immer über Ihre freundlichen und kritischen Rückmeldungen.








 
                  





