Translate

sábado, 27 de septiembre de 2014

9. Curso de Java Server Faces 2.0 (Convertidores)

Los Convertidores en SJF 2.0





Los convertidores cubren la necesidad de asignar valores entre la vista y el modelo de manera automática, manejando tipos diferentes al default (String). Por ejemplo, convirtiendo una cadena a fecha y asignándola directamente a la propiedad de nuestro modelo manejando el mismo tipo.

De igual manera, cubre la necesidad de desplegar la información del modelo con un formato específico, por ejemplo un formato de una fecha, un valor decimal con ciertas posiciones, etc.

Tipos de convertidores en JSF 2.0

  1.   Conversiones implícitas
  2.   Conversiones explicitas

Conversiones implícitas:

Son todas aquellas conversiones que JSF realiza de manera automática, por ejemplo al usar los tipos primitivos (boolean, short, int, char, byte, float, double y long), BigInteger o String.

Ejemplo:






Como se puede apreciar en la figura anterior, en la pagina tenemos el campo txtClave en el cual el usuario introduce una cadena de texto, JSF realiza la conversión de forma implícita al tipo de dato primitivo correspondiente del atributo clave dentro del ManagedBean de modelo.

Conversiones explicitas:

Son aquellas conversiones donde nosotros tenemos que especificar la clase que convertirá el dato dentro del componente de texto.

Hay dos formas de implementar la conversión explicita:

  1.   Usando el atributo converter del componente de texto
  2.   Usando un componente de tipo converter


Usando el atributo converter: 






Usando un componente de tipo converter:





Convertidores estándar:
Estos convertidores están listos para usarse dentro de nuestras paginas JSF.

JSF                                                  Clases javax.faces.converter 




Convertidores personalizados:


  1.   Crear una clase que implemente la interfaz javax.faces.convert.Converter
  2.   Sobrescribir los métodos getAsObject() y getAsString() de la interfaz converter
  3.   Asignarle a la clase un converter Id con la anotación @FacesConverter o registrándola en el archivo faces-config.xml
  4.   Ligar nuestra clase “convertidor personalizado” al componente JSF con ela tributo converter o con el tag f:converter
Clase Convertidor a enteros:

 


Implementar nuestro convertidor en la página JSF:




Ejemplo convirtiendo la clave de String a numero:



No hay comentarios.:

Publicar un comentario