FragmentosConVisualJSF

Fragmentos en una página web con Visual JSF (NetBeans 6.0 / 6.1)

[[{TableOfContentsTitle=TablaDeContenidos} | {TableOfContents title='Tabla de contenidos'}]]

Cuando desarrollamos en web, muchas veces nos hemos encontrado con la necesidad de repetir un fragmento de la página, ya sea el título, el menú principal, el banner superior.. etc.

JSF tiene la característica de reutilizar fragmentos de páginas, de tal manera solo editaríamos el fragmento del contenido y toda la web siempre usarán los mismos fragmentos.

NetBeans 6.0 / 6.1 viene con el plugin Visual JSF que permite la programación y diseño visual de la web sobre JSF. Aquí veremos un ejemplo aplicado.

¿Qué necesitamos?

  • NetBeans 6.0 / 6.1
  • El plugin Visual JSF. Esto se puede encontrar en Tools > Plugins, y en la pestaña Installed buscamos Visual JSF. Si no se encuentra, lo podemos decargar de la pestalla Available Plugins.
  • Descargar el siguiente banner:
Image:java-banner_FragmentosConVisualJSF.jpg

Creando el proyecto web

1. Elegimos File > New project, seleccionamos de la categoría "Web" el proyecto "Web Application". File:fragment1_FragmentosConVisualJSF.jpg

Clic en "Next"

2. Escribimos como nombre del proyecto DemoFragment File:fragment2_FragmentosConVisualJSF.jpg

Clic en "Next".

3. Activamos el framework "Visual Web JavaServer Faces" File:fragment3_FragmentosConVisualJSF.jpg

Clic en "Finish"

Con eso ya tenemos nuestro proyecto inicial, y se nos muestra el archivo Page1.jsp desde un editor visual. File:700

Muy parecido cuando diseñamos los formularios Swing... tiene la paleta de controles en el lado derecho, y podemos arrástralos y ponerlo en la web. Todo un lujo.

Diseñando la página que tendrá los fragmentos

A este .jsp le definiremos regiones que serán fragmentos de otras páginas, para ello hacemos lo siguiente:

1. Presionamos Ctrl + Shift + 8 para mostrar la paleta de componentes. Luego seleccionamos de la sección "Layout" el componente "Page Fragment Box". File:fragment5_FragmentosConVisualJSF.jpg

Lo arrastramos y lo soltamos sobre la esquina superior izquierda de Page1.jsp. 2. Nos mostrará la ventana "Select Page Fragment"

File:fragment6_FragmentosConVisualJSF.jpg

Como no hay ningún fragmento anterior, hacemos clic en el botón "Create New Page Fragment". 3. Escribimos como nombre de fragmento el valor "banner".

File:fragment6_FragmentosConVisualJSF.jpg

Clic en "OK"

4. Con esto se habrá creado un archivo banner.jspf (JSP Fragment)

File:fragment10_FragmentosConVisualJSF.jpg

También aparece en el panel "Navigator" un tag div indicando que se está incluyendo el banner.jspf

File:fragment9_FragmentosConVisualJSF.jpg

y también aparecerá en la lista desplegable.

File:fragment8_FragmentosConVisualJSF.jpg

Así que lo seleccionamos... y hacemos clic en "Close". Veremos que se el Page1.jsp ahora muestra un rectángulo con líneas punteadas. Por omisión el año de ese rectángulo es de 400 px y 200 de altura. 5. Repetiremos del paso 2 al 4 para crear un fragmento llamado "Menu". Solo que esta vez se situará debajo del fragmento "Banner" en el lado izquierdo. 6. Desde la paleta, en la sección "Basic" arrastramos un Static Text y lo soltamos a la derecha del fragment Menu que acabamos de colocar. Debe estar al lado derecho del fragmento, no dentro del fragmento. Escribiremos cualquier texto, por ejemplo yo le puse "Java Web Site"

File:600

7. Hacemos clic en cualquier parte de la página pero que no tenga un fragmento o el Static text. Luego vamos al panel de Properties (Shift + Ctrl + 7) y escribimos en la propiedad Title el valor "Java Web Site" File:fragment12_FragmentosConVisualJSF.jpg

Diseñando el fragmento del menú

1. Desde el diseño visual de Page1.jsp hacemos doble clic sobre el fragmento menu. Esto nos abrirá el diseñador visual de Menu.jspf 2. Desde el panel de propiedades modificaremos el tamaño del fragmento a 150px de ancho y 100px de alto. 3. Desde la paleta, en la sección Basic arrastramos un Hyperlink y lo soltamos dentro del diseño del fragmento. Deberá tener como texto "Inicio". 4. En las propiedades de ese componente, modificamos la propiedad url y establecemos el valor /faces/Page1.jsp 5. Repetimos el paso 3 y 4 para crear un nuevo Hyperlink solo que esta vez el texto del enlace será "Noticias" y el valor de la propiedad url será /faces/News.jsp

Podemos ver el diseño visual de Page1.jsp. Arreglamos un poco los componentes para que vean mejor. File:700

Haciendo la segunda página reutilizando los fragmentos

1. Del panel de proyecto, seleccionamos a Page1.jsp. Hacemos clic derecho y seleccionamos Copy. 2. Hacemos clic derecho en el nodo Web pages y seleccionamos Paste. Esto nos creará un archivo llamado Page1_1.jsp. 3. Lo renombramos presionando la teclado F2. El nombre nombre será News. 4. Aceptamos la refactorización que solicita. 5. Abrimos el archivo News.jsp. Vemos que luce igual que Page1.jsp. 6. Cambiamos el valor del Static Text a "Noticias", así como la propiedad title de News.jsp.

Ejecutando el proyecto

Pues simplemente presionamos la tecla F6 y vemos los resultados en el navegador File:700

Y cuando hacemos clic en cualquiera de los enlaces, ambas páginas muestran el mismo diseño.

Finalmente

En adelante, cuando hagamos una web usando fragmentos, solo nos preocuparemos en modificar los .jsp que tienen el contenido, ya que los fragmentos siempre serán los mismos para todos.

Recursos

El proyecto que usé en este post está disponible aquí: http://diesil-java.googlecode.com/files/DemoFragment.tar.gz


Ver también


Proyecto Popular- Localización|http://wiki.netbeans.org/TranslatedFiles]

Not logged in. Log in, Register

By use of this website, you agree to the NetBeans Policies and Terms of Use. © 2012, Oracle Corporation and/or its affiliates. Sponsored by Oracle logo