miércoles, 9 de abril de 2014

Operadores de Expression Language

Resumen: En este post veremos un ejemplo en el que algunos operadores (expression language operators) no podremos utilizarlos pues produce errores. Veremos las alternativas que existen, y un cuadro resumen de operadores que se utilizan.

Puedes descargar el ejemplo en el siguiente enlace:

En el ejemplo anterior, pudimos ver cómo se podía poner una condición con Expression Language, de manera que nos ponia un texto u otro dependiendo de un valor:

#{row.Salary.value > 5000?'Alto':'Bajo'}

Supongamos que queramos que la condición fuera al revés:

#{row.Salary.value < 5000?'Alto':'Bajo'}

error expression language fuente
error código fuente


Este marcado en rojo en el texto, nos indica que hay un error sintáctico, también las marcas en la parte derecha en rojo, nos indica las líneas afectadas.

¿Cuál es la causa de este error?
Pues que el símbolo "<" se utiliza como comienzo de etiqueta en xml, y por lo tanto, el analizador sintáctico detecta que lo que viene a continuación de dicho símbolo no es un nombre de etiqueta (tag).

Para resolverlo se utiliza otro operador equivalente. En este caso es el operador gt (greater than).

Nuestro código quedaría:

#{row.Salary.value gt 5000?'Alto':'Bajo'}

o bien

#{row.Salary.value > 5000?'Alto':'Bajo'}

resultados ejecucion
resultados ejecución

Como nota de referencia incluyo un listado de operadores:
Fuente

  • Arithmetic: +, - (binary), *, / and div, % and mod, - (unary)
  • Logical: and, &&, or, ||, not, !
  • Relational: ==, eq, !=, ne, <, lt, >, gt, <=, ge, >=, le. Comparisons can be made against other values or against Boolean, string, integer, or floating-point literals.
  • Empty: The empty operator is a prefix operation that can be used to determine whether a value is null or empty.
  • Conditional: A ? B : C. Evaluate B or C, depending on the result of the evaluation of A.
Estos operadores se irán viendo con la práctica a medida que se van necesitando. También quería mostrar que puede haber operadores alternativos y es éstos está recogidos en las distintas referencias.

Otros artículos relacionados
-
-
-

Puedes estar al tanto de las novedades en twitter @ADFSalvaje. o siguiendo este blog.
Gracias.

No hay comentarios:

Publicar un comentario