Enlaces
Artículos de miembros
Introducción en Facelets | Introducción en Facelets |
|
|
|
| escrito por diego.silva | |
|
Definitivamente en nuestras aplicaciones Web necesitamos que use la misma plantilla a lo largo de todas las páginas. Usar un <jsp:include /> resulta prometedor, pero si se necesita cambiar la plantilla, debemos recorrar todas las páginas y cambiar el contenido de <jsp:include />.
Para ello es necesario usar plantillas. Pero plantillas que sean flexibles. Solo modifico esa plantilla (la estructura de las partes de esa página), y el contenido va a ser de acuerdo a la página que quiero que aparezca. Existe un framework llamado "Facelets" que permite crear plantillas con ayuda de JSF. Los archivos finales serán xhtml (ya no jsp) por lo que lo vuelve aún más flexible. Si queremos que un componente html utilice un componente especial de JSF, usamos unos atributos adicionales (como jsfc) para poder extender la funcionalidad de nuestro xhtml. A continuación veremos un ejemplo de cómo se crea un proyecto con Facelets en NetBeans. Versión wiki: NetBeans Community Docs http://wiki.netbeans.org/FaceletsEnNetBeans Software para elaborar este tutorial
Instalando la compatibilidad de Facelets en NetBeansEntramos a Tools > Plugins, activar Facelets Support
y hacer clic en "Install" Creando el proyecto web "AdivinaNumero"Crearemos una aplicación web nueva llamada "AdivinaNumero". En los pasos de la creación de la aplicación, debemos seleccionar el Framework "Facelets" como se muestra en la siguiente imagen.
Dejamos todas las opciones predeterminadas. Notemos los archivos que NetBeans ha creado.
Creando un ManagedBean - El corazón de la aplicaciónHacemos clic en File > New File (Ctrl + N) y seleccionamos de la categoría "JavaServer Faces", el tipo de archivo JSF Managed Bean
El bean que estamos creando tendrá como nombre NumeroBean en el paquete facelets y tendrá como alcance (scope) "session"
El bean creado lo editamos con el siguiente código package facelets; Creando la página final que ve el usuarioAhora, editaremos el código del archivo template-client.xhtml <?xml version='1.0' encoding='UTF-8' ?> Creando una nueva plantilla.Para crear una nueva plantilla, entremos a File > New File (Ctrl+N). En la categoría JavaServer Faces seleccionamos el tipo archivo Facelets Template
El nombre del archivo debe ser respuesta y el tipo de plantilla a mostrar es como se ve la siguiente imagen:
A esta plantilla la modificamos con el siguiente contenido <?xml version='1.0' encoding='UTF-8' ?> Aplicar navegación de entre las páginasAbrimos el archivo faces-config.xml. Seleccionamos en el botón superior "XML". Esto nos mostrará la estructura XML del archivo de configuración de JSF.Ahora hacemos clic derecho en cualquier parte del código XML y seleccionamos "JavaServer Faces > Add navigation case..."
Y seleccionamos los archivos involucrados. Es decir el archivo de salida (From view:/template-client.xhtml), la acción que va a pasar (success) y el archivo que tomará el control después de esa acción (To view:/respuesta.xhtml).
Hagamos lo mismo pero desde /respuesta.xhtml hacia /template-client.xhtml con el mismo nombre de acción "success" Ejecutando la aplicaciónAhora, ejecutemos el proyecto y veamos los resultados.RecursosEste proyecto se encuentra disponible en http://diesil-java.googlecode.com/files/AdivinaNumero.tar.gz
|
| < Anterior | Siguiente > |
|---|