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 12 semanas 1 día
hace 12 semanas 1 día
hace 12 semanas 1 día
hace 36 semanas 4 días
hace 37 semanas 6 días
hace 44 semanas 4 días
hace 1 año 37 semanas
hace 2 años 48 semanas
hace 3 años 6 días
hace 3 años 8 semanas