jueves, 25 de abril de 2013

Expression Language 3.0 en Java EE 7

Dentro de las mejoras a Java EE 7 a varios de sus JSRs está Expression Language (EL), que es el JSR 341. Expression Language viene en su edición numero 3 en Java EE 7.
Si quieres conocer más sobre el Expression Language puedes consultar el tutorial de Java Enterprise 6.
Expression language ha resultado muy útil al momento de comunicar la Vista (View en una arquitectura MVC) con la lógica del negocio (Model o Controller según convenga). Con él puedes llamar funciones de tus Managed Beans.

En EL 3.0, EL es ya un lenguaje independiente y se saca del JSR de JSP.
Dentro de lo que le han agregado a EL 3.0 destacan cuatro cambios:

  1. Nuevos Operadores: Concatenación (+=), Asignación(=) y el operador punto y coma (;). Este último para concatenar expresiones.
  2. Expresiones Lambda. Si, Lambda, y estarán en Java EE 7 con el JDK 7.
  3. Soporte (operaciones) a Colecciones
  4. Y un API para evaluar expresiones de EL en ambientes stand-alone, es decir, dentro de clases de Java normales, sin ser un JSP o una página JSF.

Show me Code!

1. Para los nuevos operadores:
  • Concatenación: Es válido en EL concatenar cadenas de la siguiente manera:
${"Java" += " Rocks"}  Para JSP
#{"Java" += " Rocks"}  Para JSF
         Se pueden concatenar otros tipos de datos que no sean String, se intentará convertirlo a String.
  • Asignación: Igual a la asignación en Java. Una de las ventajas es que ya no se tendrá que usar el setValue para asignarle un valor a un bean:
          ${MyBean.value = "100"}               
  • Punto y coma (;): Igual que en Java, con la excepción de que sólo se pueden poner expresiones, no sentencias. Una de las características de este operador es que siempre regresará el resultado de la expresión de más a la derecha, la última de la cadena. En el siguiente ejemplo:
         ${x = 30;50;x}       

          El valor que se regresará de esta expresión es 30.


En el siguiente post vendrán los demás cambios a EL 3.0



                             

No hay comentarios.:

Publicar un comentario