Unified Expression LanguageDie Java Unified Expression Language ("vereinheitlichte Ausdrucksprache") ist eine domänenspezifische Sprache, die hauptsächlich in Java-Webanwendungen zum Einbetten von Ausdrücken in Web-Seiten verwendet wird. Die Autoren und Expertengruppen der Java-Spezifikationen der Web-Technologienebene haben dazu eine vereinheitlichte Ausdrucksprache erarbeitet, die erstmals in der JSP-2.1-Spezifikation (JSR-245) integriert und später in JSR-341 als Teil von Java EE 7 referenziert wurde. GeschichteDie Expression Language begann als Teil der JavaServer Pages Standard Tag Library (JSTL) und wurde ursprünglich SPEL (Simplest Possible Expression Language), im Weiteren jedoch nur noch Expression Language (EL) genannt. Es war eine Skriptsprache, die den Zugriff auf Java-Komponenten (JavaBeans) über JSP erlaubte. Seit JSP 2.0 wurde sie innerhalb von JSP-Befehlen genutzt um Java-Quelltext von JSP zu trennen und leichteren Zugriff auf Java-Komponenten (als mittels Java-Code) zu ermöglichen. Über die Jahre hat sich die Expression Language weiterentwickelt, fortgeschrittenere Funktionalität integriert und wurde letztlich in die JSP 2.0-Spezifikation aufgenommen. Das Erstellen von Skripten wurde für Gestalter von Web-Inhalten vereinfacht, da diese üblicherweise über wenige bis keine Kenntnisse der Kernsprache Java verfügen. Diese Skriptfunktionalität machte aus JSP eine Skriptsprache im eigentlichen Sinn. Vor der Integration der EL bestand JSP aus wenigen speziellen Befehlen, wie Scriptlets, Ausdrücken usw. in die expliziter Java-Quelltext eingefügt wurde. Seit der Integration der EL müssen Gestalter von Web-Inhalten nur noch wissen, wie die Java-Kernmethoden korrekt aufzurufen sind. EL war, sowohl syntaktisch als auch semantisch, ähnlich zu JavaScript-Ausdrücken:
EL befreite den Programmierer davon, die Einzelheiten, wie auf Werte tatsächlich zugegriffen wird, zu kennen: Während der Entwicklung von JSP 2.0, wurde die Technik JavaServer Faces veröffentlicht, die ebenfalls eine Expression Language benötigte. Jedoch genügte die, in der JSP 2.0-Spezifikation definierte, Expression Language nicht allen für die Entwicklung mit JSF nötigen Anforderungen. Die offensichtlichsten Einschränkungen lagen darin, dass deren Ausdrücke unmittelbar ausgewertet wurden und dass JSF-Komponenten keine Methoden auf server-seitigen Objekte aufrufen konnten. Deshalb wurde eine mächtige Sprache mit den folgenden neuen Eigenschaften geschaffen:
Die neue Expression Language funktionierte gut für JSF-Belange. Jedoch führte das Integrieren der JSP-EL mit der JSF-EL zu Konflikten. Aufgrund dieser Inkompatibilitäten wurde die Initiative für die Unified Expression Language gestartet um diese Expression Languages zu vereinheitlichen. Mit der Spezifikation JSP 2.1 wurden die Ausdrucksprachen von JSP 2.0 und JSF 1.1 in eine einzige vereinheitlichte Expression Language (EL 2.1) zusammengeführt. Version 3.0 der Expression Language (das vereinheitlicht wurde nicht länger als nötig erachtet) wurde in JSR-341 unabhängig von den JSP- und JSF-Spezifikationen entwickelt. Einige neue Funktionen wurden hinzugefügt, vor allem die EL-Äquivalente zu Streams and Lambda-Ausrücken aus Java 8.[1] BesonderheitenDie neue vereinheitlichte EL ist eine Verbindung der JSP- und der JSF Expression Languages. Zusätzlich zu den in JSP EL bereits vorhandenen Bestandteilen unterstützt die Unified EL folgende Funktionen:
BeispieleEin einfaches Beispiel der Unified EL wie sie innerhalb eines JSTL "c:out"-Befehls verwendet wird: <c:out value="${myBean.myField}" /> Ein Ausdruck, der eine Methode mit einem Parameter aufruft: ${myBean.addNewOrder('orderName')} Implementierungen
Siehe auch
Einzelnachweise
Externe Verweise
|
Portal di Ensiklopedia Dunia