Object-Graph Navigation Language (OGNL), creado por OGNL Technology, es un Lenguaje de Expresiones de código abierto para Java, el cual, mediante el uso de expresiones más simples que el amplio espectro que soporta Java, permite obtener y establecer propiedades (a través de métodos ya definidos getProperty y setProperty similares a los presentes en todos los JavaBeans) y la ejecución de métodos de clases Java.

Aplicaciones Algunas de las ventajas de OGNL sobre Java son: Las transformaciones entre tipos son más sencillas. Es un lenguaje de fuente de datos útil para mapear columnas de una tabla con su TableModel en Swing. Es un sustituto del lenguaje de obtención de propiedades usado en el paquete BeanUtils.

Cadenas (chains) Son la unidad fundamental de navegación. [Pueden contener: Nombres de propiedades. encabezado.texto Llamadas a métodos. hashCode() Índices de Array. listeners

Ejemplo:

name.toCharArray().numericValue.toString()

Se pasa a String la propiedad "name" de la que se toma el carácter de la posición 0 y se obtiene su valor numérico que se pasa a String nuevamente.

Proyectos que usan OGNL WebWork Struts 2 (sucesor del anterior) Tapestry Spring Web Flow Apache Click NReco (.NET integration framework for lightweight MDD) op4j (extensión op4j-ognl) - implementación de interfaz fluida de Java. MyBatis - framework de mapeo SQL The Thymeleaf Template Engine - motor de plantillas Java XML/XHTML/HTML5 Unitils - marco (framework) de testeo modular para Java

Enlaces externos (en inglés) Página principal de OGNL (en inglés) WebWork (usando OGNL)

Categoría:Lenguajes interpretados Categoría:Software libre programado en C Sharp Categoría:Software libre programado en Java