Facelets


En informática , Facelets es un sistema de plantilla web de código abierto bajo la licencia Apache y la tecnología de controlador de vista predeterminada (también conocida como lenguaje de declaración de vista) para Jakarta Server Faces (JSF; anteriormente JavaServer Faces ). El lenguaje requiere documentos XML de entrada válidos para funcionar. Facelets admite todos los componentes de la interfaz de usuario de JSF y se centra completamente en la creación del árbol de componentes de JSF, reflejando la vista de una aplicación JSF.

Aunque las tecnologías JSP y JSF se han mejorado para que funcionen mejor juntas, Facelets elimina los problemas señalados en el artículo de Hans Bergsten "Mejora de JSF mediante el volcado de JSP" [1]

Facelets se basa en algunas de las ideas de Apache Tapestry , [2] [3] y es lo suficientemente similar como para establecer una comparación. El proyecto es conceptualmente similar al de Tapestry, que trata los bloques de elementos HTML como componentes del marco respaldados por clases de Java. Facelets también tiene algunas similitudes con el marco de Apache Tiles con respecto al soporte de plantillas y composición.

Facelets fue creado originalmente por Jacob Hookom en 2005 [3] como un lenguaje de declaración de vista alternativo separado para JSF 1.1 y JSF 1.2, que usaban JSP como el lenguaje de declaración de vista predeterminado. A partir de JSF 2.0, Facelets ha sido promovido por el grupo de expertos de JSF para ser el lenguaje de declaración de vista predeterminado. JSP ha quedado obsoleto como un respaldo heredado. [4] [5]

En Facelets, las etiquetas de plantillas de una biblioteca de etiquetas se pueden ingresar de dos formas: directamente como un xmlelemento calificado o indirectamente a través del jsfcatributo en un elemento arbitrario no calificado. En el último caso, el compilador Facelet ignorará el elemento real y procesará el elemento como si fuera el dado por el jsfcatributo.

El siguiente ejemplo muestra el uso directo de etiquetas calificadas:

Transitional // EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  xmlns = "http : //www.w3.org/1999/xhtml "  xmlns: h = " http://java.sun.com/jsf/html " >       value = " Bienvenido, # {logInUser.name} "  disabled = " # {vacío logInUser} "  />   value = " # {bean.property} "  />   value = " OK "  action = " # {bean. hacer algo} "  />