Anda di halaman 1dari 3

Conversores en JSF

http://www.jdeveloperla.com/old.joomla/index.php?view=article&catid...

Conversores en JSF Escrito por alejandro.font Domingo, 10 de Agosto de 2008 17:02

ndice Introduccin Fase del ciclo de vida Conversiones Conversores Estndares Conversores Propios

Introduccin

En este articulo trataremos el tema de las conversiones en el framework JSF.

Fase del ciclo de vida:


Antes de entrar en profundidad con las conversiones, comentar que estas se llevan a cabo en la fase 2,Apply Request Values, del ciclo de vida. Por lo que podemos observar que JSF, efecta las conversiones antes de realizar las validaciones. Para mas informacin sobre el ciclo de vida en JSF, podeis consultar el articulo Ciclo de vida en JSF que se encuentra en la seccin de Histrico del portal.

Conversiones

Una de las muchos mecanismos que nos proporciona JSF de forma automtica y casi transparente para el desarrollador es el de la conversion. Es decir, convertir los campos introducidos en un formulario, objetos tipo String, al tipo de objeto Java adecuado. Y de la misma forma cuando se pinta la pagina necesitamos convertir a String el valor correspondiente de los objetos de nuestra aplicacin.

1 of 3

10/10/2010 8:54 AM

Conversores en JSF

http://www.jdeveloperla.com/old.joomla/index.php?view=article&catid...

Conversores Estndares:

JSF nos proporciona los siguientes conversores: BigDecimalConverter, BigIntegerConverter, NumberConverter,IntegerConverter, ShortConverter,ByteConverter,CharacterConverter, FloatConverter,DoubleConverter,BooleanConverter,DateTimeConverter Para hacer uso de los conversores usaremos el Atributo o Propiedad converter o el Tag f:converter

Conversores Propios:

Seguiendo la filosofia del framework JSF, no nos tenemos que conformar con los conversores estandares que nos proporciona el framework sino que podemos desarrollar nuestros propios conversores. Para ello es necesario realizar los siguientes pasos: Implementar el conversor
view plain copy to clipboard print ?

01. 02. 03. 04. 05. 06. 07. 08. 09. 10. 11. 12. 13. 14. 15. 16.

package com.converters; import javax.faces.convert.Converter; import javax.faces.model.*; import javax.faces.context.*; import javax.faces.application.*; import javax.faces.component.*; public class NegritaConverter implements Converter{ public Object getAsObject(FacesContext context, UIComponent component, String value){ return "<b>" + value + "</b>"; } public String getAsString(FacesContext context, UIComponent component, Object value) { return value.toString(); } }

Para realizar esta conversin JSF, hace uso de la interfaz Converter. Esta interfaz consta de dos metodos getAsObject: de String a objeto Java getAsString: de objeto Java a String En el caso de haber un problema en la fase de conversion, siguiendo con el estndar, deberamos lanzar una ConverterException. Esta podra ser lanzada en forma de FacesMessage por pantalla

2 of 3

10/10/2010 8:54 AM

Conversores en JSF

http://www.jdeveloperla.com/old.joomla/index.php?view=article&catid...

Declarar nuestro nuevo conversor en el faces-config.xml


view plain copy to clipboard print ?

01. 02. 03. 04.

<converter> <converter-id>negritaConverter</converter-id> <converter-class>com.converters.NegritaConverter</converter-class> </converter>

Utilizacin A continuacin podemos ver algunos ejemplos de utilizacin del conversor creado
view plain copy to clipboard print ?

01. 02. 03. 04. 05. 06.

<h:inputtext id="text" value="#{miBean.texto}" required="true"> <f:converter converterid="negritaConverter"></f:converter> </h:inputtext> <h:inputtext id="text" value="# {miBean.texto}" required="true converter=" negritaconverter=""> </h:inputtext>

3 of 3

10/10/2010 8:54 AM