Migración a ICEfaces 2.0

1
9092

Migración a ICEfaces 2.0

 

Índice de contenidos.

1. Introducción

Aunque ya hace más de 1 año que tenemos la segunda versión de JSF, hace tan solo unos pocos meses que ICEFaces ha sacado una nueva versión de su librería compatible con JSF 2. Sobre la nueva versión de JSF podéis consultar este tutorial donde Alex nos explicaba sus novedades y un ejemplo de uso. En este tutorial vamos a ver los cambios a realizar en un proyecto donde ya tuviéramos montada una versión anterior de ICEfaces para migrarlo a la última versión y empezar a utilizar las nuevas mejoras que trae JSF 2.

2. Entorno

  • MacBook Pro 15′ (2.4 GHz Intel Core i5, 4GB DDR3 SDRAM).
  • Sistema Operativo: Mac OS X Snow Leopard 10.6.4
  • JDK 1.6.0_20
  • ICEfaces 2.0.2

3. Librerías

En el pom.xml tenemos que actualizar las librerías de ICEFaces de la 1.8.2 a la 2.0.0

La primera de las 2 librerías es el core de ICEFaces. La segunda se encarga de la compatibilidad de los componentes con las versiones anteriores.

4. faces-config.xml

Lo siguiente será actualizar el fichero faces-config.xml, concretamente la definición del schema que apunta a la nueva de JSF 2.

Con ICEFaces 1.8.2

Con ICEFaces 2.0

A partir de la versión 2 de JSF, Facelets ha quedado integrado como motor de plantillas estándar por lo que no es necesaria ninguna configuración adicional. Por ello eliminamos del faces-config.xml la siguiente línea:

En JSF 2 no es necesario añadir los managed beans al faces-config.xml, bastará con anotarlos con @ManagedBean, tampoco los converters ni validators.

5. web.xml

Los servlets Blocking Servlet y Persistent Faces Servlet que era obligatoria su definición han pasado a mejor vida por lo que hay que eliminarlos. Para ello editamos el fichero web.xml y borramos tanto la definición del servlet como el mapeo:

El Faces Servlet deberá recoger todas las peticiones JSF por lo que el mapeo debe quedar de la siguiente forma:

Si en tu aplicación estás utilizando el ResourceServlet deberas usar el CompatResourceServlet ya que éste ha sido renombrado:

Otro aspecto importante será modificar los parámetros del contexto que ayudarán a ICEFaces 2 en relación al escapado de los comentarios y la validación:

Hemos definido que las páginas que conforman la parte de presentación serán documentos xhtml por lo que habrá que cambiar las .jsp a .xhtml. También modificar las cabeceras de los documentos, para ello os recomiendo leer este tutorial de Jose sobre cómo modificar las JSPs en una migración al sistema de plantillas de Facelets.

También será necesario eliminar el ContextEventRepeater

6.Conclusiones

Si utilizas ICEFaces en versiones anteriores a la 2.0.x es muy recomendable que actualices a las 2 ya que podrás utilizar todas las nuevas características que incluye el estándar JSF 2 que hacen el desarrollo mucho más sencillo y rápido.

Espero que te haya servido de ayuda.

Un saludo. Juan.

1 Comentario

  1. Es interesante ver el juego que ha dado y sigue dando la definición de la JSR relativa a Servlets. A mi me gusta también el hecho de la importancia que Ajax y las anotaciones estan tomando en estas nuevas evoluciones. De JSF me gusta la interactividad que ofrece entre la capa de la vista (las propias JSFs) y los Managed Bean. Esta estructura me parece una visión organizada alternativa de una aplicación web.

Dejar respuesta

Please enter your comment!
Please enter your name here