Puedes descargar el ejemplo en el siguiente enlace: Descargar Ejemplo
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 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 ejecución |
Como nota de referencia incluyo un listado de operadores:
Fuente The java EE6 Tutorial
- 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.
Otros artículos relacionados
- Ejemplo de Expresión del Lenguaje (Expression Language)
- Introduccion a Expresión del lenguaje (Expression language)
- Deshabilitar un componente (disable)
Puedes estar al tanto de las novedades en twitter @ADFSalvaje. o siguiendo este blog.
Gracias.
No hay comentarios:
Publicar un comentario