Este post es una guía breve y concisa de cómo integrar Facelets a una aplicación JSF.
Facelets es un framework de templating que nos facilita la gestión de la estructura y el estilo de las JSP, lo cual tiene beneficios en cuanto a reutilización de código en la capa de presentación y por consecuencia eleva la mantenibilidad de esta capa.
Al usar Facelets nuestro proyecto se basará en una plantilla, que contendrá la estructura de la presentación (JSP) y las definiciones de estilo, en esta plantilla definimos zonas o áreas (como el header, menú, espacios comunes) y el motor de facelets se encargará de llenar esas áreas con el contenido apropiado, así por ejemplo no tendremos el header en todas las JSP y si después de un tiempo algo tiene que cambiar se hará solo en la plantilla en lugar de hacerlo en cada página.
Entremos en materia...
Descarga.
Facelets lo pueden descargar de aquí.
Dependencias.
Debemos agregar a nuestro proyecto los siguientes jars: jsf-facelets.jar, el-api.jar y el-impl.jar.
Cabe destacar que Facelets funciona con las especificaciones para JSF 1.1 y 1.2.
Integración al proyecto JSF.
Para que agregar el soporte de Facelets a nuestro proyecto, primero agregaremos un parámetro al web.xml:
<context-param>
<param-name>javax.faces.DEFAULT_SUFFIX</param-name>
<param-value>.xhtml</param-value>
</context-param>
En este parámetro de JSF le estamos indicando que el sufijo por default de las páginas será .xhtml por cuestiones de que Facelets requiere marcado XML, este atributo podría ser también .jspx.
Como parámetro opcional, podemos agregar:
<context-param>
<param-name>facelets.DEVELOPMENT</param-name>
<param-value>true</param-value>
</context-param>
Este parámetro hará que Facelets sea más informativo en los logs, muy útil para desarrollo y/o debug.
Ahora le diremos a nuestra aplicación JSF que debe ocupar Facelets como ViewHandler, esto lo haremos dentro de <application> en el faces-config.xml.
<application>
<view-handler>
com.sun.facelets.FaceletViewHandler
</view-handler>
</application>
Comentarios recientes
hace 2 semanas 3 días
hace 2 semanas 3 días
hace 2 semanas 3 días
hace 26 semanas 6 días
hace 28 semanas 1 día
hace 34 semanas 6 días
hace 1 año 27 semanas
hace 2 años 39 semanas
hace 2 años 43 semanas
hace 2 años 50 semanas