OGNL

OGNL

Object-Graph Navigation Language, abgekürzt als OGNL ist eine expression language zum Lesen und Schreiben von Eigenschaften in Java-Objekten. Dazu werden zum Setzen und zum Lesen des Wertes einer Eigenschaft die gleichen Ausdrücke verwendet. Zum Einsatz kommen kann OGNL z.B. beim Binden einer Darstellungsschicht (GUI) an ein Objekt in einem Datenmodell. Dabei ermöglicht OGNL außerdem "projection", "selection" und Pseudo-Lambda-Ausdrücke.

Bei einer "projection" wird für alle Elemente einer Collection dieselbe Methode aufgerufen bzw. auf dieselbe Eigenschaft zugegriffen und das Ergebnis dieser Operation(en) wiederum in einer Collection gespeichert.

Bei einer "selection" werden aus einer Menge von Elementen einer Collection bestimmte Elemente, die die gestellte Bedingung erfüllen, als Ergebnis in einer neuen Collection gespeichert.

OGNL besitzt eine vereinfachte Lambda-Ausdruckssyntax, welche das Schreiben simpler Funktionen ermöglicht.

Inhaltsverzeichnis

Beispiele

ein OGNL-Ausdruck

 code.toLowerCase().getBytes()[0].intValue.toString()
  • holt die Eigenschaft "code",
  • ruft für den resultierenden String die Methode toLowerCase() auf,
  • ruft für den daraus resultierenden String die Methode getBytes() auf,
  • extrahiert aus dem resultierenden byte Array den ersten Wert, kapselt dieses in einem Byte-Objekt
  • für welches wiederum die Eigenschaft intValue (durch Aufruf der Methode intValue()) ermittelt wird,
  • das daraus resultierende int wird wiederum in einem Integer-Objekt gekapselt, welches durch Aufrufen der Methode toString() in einen String verwandelt wird.

projection:

 listeners.{delegate}

gibt eine Liste aller Delegates der Collection listeners zurück.

selection:

  listeners.{? #this instanceof KeyListener}

gibt eine Collection all der listener zurück, welche KeyListener sind.

Weblinks


Wikimedia Foundation.

Игры ⚽ Нужно сделать НИР?

Schlagen Sie auch in anderen Wörterbüchern nach:

  • OGNL — File:OGNL logo.png Developer(s) OGNL Technology Stable release 2.7.2 / January 31, 2008; 3 years ago (2008 01 31) Written in …   Wikipedia

  • OGNL — Archivo:OGNL logo.png Desarrollador OGNL Technology http://www.opensymphony.com/ognl Información general Úl …   Wikipedia Español

  • OGNL — Тип Expression Language (EL) Разработчик OGNL Technology Написана на Java, C Sharp Операционная система Кроссплатформенное программное обеспечение Аппаратная платформа Java Virtual Machine …   Википедия

  • Object-Graph Navigation Language — Object Graph Navigation Language, abgekürzt als OGNL ist eine expression language zum Lesen und Schreiben von Eigenschaften in Java Objekten. Dazu werden zum Setzen und zum Lesen des Wertes einer Eigenschaft die gleichen Ausdrücke verwendet. Zum… …   Deutsch Wikipedia

  • Apache Commons — проект фонда Apache Software Foundation (далее ASF), имеющий своей целью разработку и поддержку открытого программного обеспечения повторного использования на языке Java, т.е. библиотек Java. В более узком смысле Apache Commons это «большая… …   Википедия

  • Tapestry (programming) — Infobox Software name = Apache Tapestry caption = developer = Apache Software Foundation latest release version = 4.1.6 latest release date = 11 September 2008 latest preview version = 5.0.15 latest preview date = 21 September 2008 operating… …   Wikipedia

  • Expression Language — (EL) is a scripting language which allows access to Java components (JavaBeans) through JSP. Since JSP 2.0, it has been used inside JSP tags to separate Java code from JSP, and to allow easier access to Java components (than in Java… …   Wikipedia

  • MVEL — Infobox Software name = MVEL caption = developer = Mike Brock and Various Contributors latest release version = 1.3.13 latest release date = release date|2008|10|10 latest preview version = 2.0 Beta 1 latest preview date = release date|2008|10|03 …   Wikipedia

  • Expression Language — (EL)  скриптовый язык выражений, который позволяет получить доступ к Java компонентам (JavaBeans) из JSP. Начиная с JSP 2.0 используется внутри JSP тегов для отделения Java кода от JSP для обеспечения лёгкого доступа к Java компонентам.… …   Википедия

  • Tapestry — Apache Tapestry Тип Веб фреймворк Разработчик Apache Software Foundation Написана на Java Операционная система Кроссплатформенное ПО …   Википедия

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”