Ejemplo JSF 2.0 con MyFaces Trinidad, Ajax y Maven

Ejemplo JSF 2.0 con MyFaces Trinidad, Ajax y Maven

Índice

Introducción

En este artículo aprenderemos a crear una aplicación web JSF 2.0 con la biblioteca MyFaces 2.0 Trinidad, con soporte para AJAX,  mediante el arquetipo de Maven preparado por el proyecto Apache MyFaces. Veremos también cómo preparar el proyecto para ser editado en nuestro entorno de desarrollo con Eclipse y cómo ejecutar la aplicación web dentro de un servidor local Jetty.

JSF es el estándar para la creación de interfaces para aplicaciones Web en el entorno J2EE. Normalmente no es difícil poner en marcha un proyecto con alguna de las implementaciones estándares de JSF.  En este artículo vamos a crear una aplicación de ejemplo con la versión de JSF 2.0 utilizando para ello la implementación proporcionada por el proyecto Apache MyFaces Trinidad. Esta implementación proporciona las siguientes ventajas:

  • Soporte para el estándar JSF 2.0 (puede ser incluso 2.1 o 2.2, dependiendo del grado de avance del proyecto MyFaces)
  • Bibioteca de componentes extendida MyFaces Trinidad.
  • Uso ce bibliotecas base de MyFaces o de la implementación de referencia de Sun (Mojarra)
  • Soporte para la actualización parcial de la página, mediante peticiones AJAX.

Nuestro proyecto además tiene las siguientes ventajas:

  • Creación sencilla mediante Maven
  • Integración sencilla con el IDE Eclipse Juno
  • Ejecución sencilla en un servidor local Jetty.

Así la aplicación ejemplo creada es un punto de partida bueno par crear nuestras aplicaciones JSF 2.0.

Requisitos

Para nuestro proyecto necesitamos:

  • Java JDK 1.5, y la variable de entrono JAVA_HOME
  • Maven 2.X
  • Eclipse Juno con el plugin M2E (Maven Integration for Eclipse).

En principio todo el tutorial se ha desarrollado sobre Windows, pero es muy fácil realizarlo en Linux u otros entornos.

Maven 2 se instala simplemente bajando una distribución zip e instalándola, añadiendo al path la carpeta bin de la distribución.

El plugin M2E se puede instalar desde Eclipse Marketplace, por lo que su instalación es muy sencilla.

Creación de los arquetipos

Para comenzar a utilizar el arquetipo de MyFaces 2.0 Trinidad para Maven debemos generar la lista de arquetipos desde el proyecto Apache MyFaces. Para más información sobre los diferentes arquetipos de MyFaces buscar en su Wiki dicha información.

En primer lugar creamos la carpeta d:\workspaces\workspaceJSF2. Aquí vamos a empezar a crear nuestro proyecto.

Desde línea de comandos en esa capeta y ejecutamos el comando para generar los arquetipos de Myfaces:

 

Elijo la opción 1 para crear un proyecto basado en MyFaces Trinidad 2.0. Ahora nos pedirá el groupId, el artifactId y el nombre del paquete base.

Preparamos el proyecto para Eclipse

Los ficheros y carpetas que tenemos son

Trabajar con Eclipse

Abrimos el workspace en Eclipse

Importamos el proyecto como un existente en el workspace:

Pulsamos Next

Pulsamos Finish y ya tendremos nuestro proyecto generado. Podemos ver que si intentamos abrir el pom.xml Eclipse nos abre el editor de propiedades de Maven.

Nos queda un último paso y es indicarle al Eclipse dónde está el repositorio local de Maven. Aunque se puede hacer mediante el plugin de eclipse para Maven, vamos a hacerlo configurando el propio Eclipse. Para ello vamos a la opción del menú principal “Window > Preferences” y buscamos Java > Build Path > Class path variables

Ajustamos o creamos a mano la variable M2_REPO, apuntando a la carpeta del sistema local donde se halle dicha carpeta, usualmente en c:\Users\Miusuario\.m2\repository o algo similar.

Compilando el proyecto

Las instrucciones para compilar el proyecto están dentro del pom.xml:

Las dos primeras opciones son las más habituales. Con la compilación por defecto se ejecuta el servidor de aplicaciones Jetty y se incluyen todas las bibliotecas de MyFaces: las del núcleo principal y la biblioteca Trinidad. Con la segunda opción se utiliza como bibliotecas de núcleo las de Sun (mojarra), que es la implementación de referencia para JSF.

Ejecución de la aplicación web

Compilamos con mvn jetty:run, que es el método más fácil

   

Ahora el servidor web jetty está arrancado. Veamos la página inicial. Para ello abrimos un navegador en la dirección http://localhost:8080/jsftrexample

La aplicación de ejemplo ya está lista para usar.  Este será el punto de partida para otros tutoriales.

Conclusión

Como vemos, sin apenas esfuerzo hemos logrado crear una primera aplicación que usa la tecnología JSF 2.0. Esta aplicación además está enriquecida con la biblioteca de componentes MyFaces Trinidad, que incluye todos los componentes estándar de JSF 2.0 así como componentes mejorados con soporte de AJAX y actualización parcial de la página, lo que dotará a nuestras aplicaciones de una apariencia super profesional.