Introducción a JavaServer Faces (JSF)

JavaServer Faces (JSF) es una especificación para la construcción de interfaces web basada en componentes. La implementación de referencia es Mojarra. Además de Mojarra la otra implementación de código abierto con mayor adopción en el mercado es MyFaces.

En el siguiente vídeo se demuestran los fundamentos de la configuración de una interfaz web JSF.

Los pilares de JSF

Componentes

Componentes visuales (cuadros de textos, menús, listas, etc.) y no visuales (conversores, validadores, etc.) que se incluyen en una página web JSF. El código fuente de una página web JSF se escribe como un documento XML; por lo tanto,  los componentes se representan como elementos XML. En tiempo de ejecución estos elementos se manifiestan como objetos capaces de generar código el HTML, CSS y JavaScript necesarios para desplegar los componentes en un navegador Web. [3]

JSF incluye una serie de componentes básicos. Sin embargo, existen varios proveedores de componentes y extensiones a JSF entre los cuales podemos destacar los siguientes:

Beans gestionados (Managed Beans)

Clases cuyas instancias son gestionas por JSF y que contienen los datos y la funcionalidad asociada a los eventos generados por los componentes de una página JSF. El tiempo de vida de las instancias de estas clases está determinado por el ámbito JSF asociado a su clase. Cada bean gestionado, además del ámbito JSF, tiene asociado un nombre.

Lenguaje de Expresiones (EL)

El lenguaje de expresiones permite, entre otras cosas, vincular los beans gestionados con los componentes de una página web JSF.  De esta manera es posible establecer una relación entre los datos y eventos generados por los componentes JSF  y las propiedades y métodos de los beans gestionados.

En el siguiente vídeo se explican el rol y relación entre componentes, beans gestionados y en lenguaje de expresiones:

Referencias

[1] Introducción a Expression Languaje (EL)

[2] Mojarra JavaServer Faces

[3] El ciclo de vida de una petición en una interfaz web JSF

[4] Mastering JSF

Leave a Reply