introducción a jsf con netbeans€¦ · introducción a jsf con netbeans créditos yann arthur...

12
Introducción a JSF con NetBeans Créditos Yann Arthur Nicolas [email protected] www.merlinsource.com Objetivo Crear una primera aplicacion con JSF utilizando los tags para JSP y un ManagedBean, entender la configuracion básica de el archivo faces-config.xml. Prerequisitos Java basico, HTML básico, un IDE que soporte JSF y un contenedor JSP / Servlets. Los pasos son indicados para NetBeans 5 y superior con Tomcat 5. Nota: Como se hizo el tutorial en entorno Linux, las diagonales son "/" para Windows normalmente la barra esta invertida "\" pero el entorno NetBeans permite que bajo Windows se utilice el formato Unix. ¿Qué vamos a hacer? Habrá una pagina principal (index.jsp) que tendrá un enlace a otra (entrada.jsp) con un formulario para poner nuestro nombre. Al pulsar el botón del formulario, se validara si el campo no esta vacío y si el numero de caracteres esta en cierto rango (de 2 a 15). Si la entrada es correcta, se muestra un mensaje de bienvenida con el nombre ingresado, si hay un error, se recarga la pagina con el formulario y se muestra un mensaje especificando el tipo de error.

Upload: others

Post on 24-Jul-2020

14 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Introducción a JSF con NetBeans€¦ · Introducción a JSF con NetBeans Créditos Yann Arthur Nicolas yannart@gmail.com Objetivo Crear una primera aplicacion con JSF utilizando

Introducción a JSF con NetBeans

CréditosYann Arthur Nicolas

[email protected]

www.merlinsource.com

ObjetivoCrear una primera aplicacion con JSF utilizando los tags para JSP y un ManagedBean, entender la configuracion básica de el archivo faces­config.xml.

PrerequisitosJava basico, HTML básico, un IDE que soporte JSF y un contenedor JSP / Servlets.Los pasos son indicados para NetBeans 5 y superior con Tomcat 5.

Nota: Como se hizo el tutorial en entorno Linux, las diagonales son "/" para Windows normalmente la barra esta invertida "\" pero el entorno NetBeans permite que bajo Windows se utilice el formato Unix.

¿Qué vamos a hacer?Habrá una pagina principal (index.jsp) que tendrá un enlace a otra (entrada.jsp) con un formulario para poner nuestro nombre.Al pulsar el botón del formulario, se validara si el campo no esta vacío y si el numero de caracteres esta en cierto rango (de 2 a 15). Si la entrada es correcta, se muestra un mensaje de bienvenida con el nombre ingresado, si hay un error, se recarga la pagina con el formulario y se muestra un mensaje especificando el tipo de error.

Page 2: Introducción a JSF con NetBeans€¦ · Introducción a JSF con NetBeans Créditos Yann Arthur Nicolas yannart@gmail.com Objetivo Crear una primera aplicacion con JSF utilizando

ProyectoAbrimos NetBeans y creamos un nuevo proyecto:File ­> New Project Categories ­> Web ­> Web Application

Aparece la ventana New Web Application Vamos a dejar casi todo como viene por default:

• Project Name: Hola • Project Location: dejar como viene por default o cambiar a cambiar a un 

directorio particular (ejemplo: /home/yannart/proyectos) • Project Folder: se llena solo • Source Structure: Java BluePrints • Server: Bundled Tomcat (para los que quieran usar Sun Application Server o 

JBoss, da lo mismo) • Java EE Version: J2EE 1.4 (los que utilicen el server de sun pueden usar en 1.5) • Context Path: dejar como viene. (/Hola) • Ponemos las dos palomas en los checkbox. 

 

Pulsamos el botón Next.

• Ponemos la paloma en el checkbox JavaServer Faces • Dejamos en blanco el checkbox de Struts • Servlet URL Mapping: dejamos como viene (/faces/*) • Ponemos la paloma en el checkbox Validate XML • Dejamos en blando el checkbox Verify Objects 

Page 3: Introducción a JSF con NetBeans€¦ · Introducción a JSF con NetBeans Créditos Yann Arthur Nicolas yannart@gmail.com Objetivo Crear una primera aplicacion con JSF utilizando

 

Pulsamos el botón Finish. Por fin! =) 

Page 4: Introducción a JSF con NetBeans€¦ · Introducción a JSF con NetBeans Créditos Yann Arthur Nicolas yannart@gmail.com Objetivo Crear una primera aplicacion con JSF utilizando

JSPTenemos que crear unos archivos adicionales a los que se generaron al crear el proyecto:

• entrada.jsp • hola.jsp 

Para esto hacemos clic derecho en la carpeta "Web Pages" de su proyecto y luego "NEW ­> JSP..." 

• Solo cambiamos el campo JSP File Name: Ponemos la paloma en el checkbox JavaServer Facesentrada 

 

Pulse Finish

Repita los mismos pasos para crear hola.jsp

Podemos borrar el archivo welcomeJSF.jsp ya que no se utilizara: clic derecho en el archivo welcomeJSF.jsp de la carpeta Web Pages y luego Delete.

Ahora va a remplazar el contenido de cada archivo jsp.

index.jsp 

< %@page contentType="text/html"% > < %@page pageEncoding="UTF­8"% > 

Page 5: Introducción a JSF con NetBeans€¦ · Introducción a JSF con NetBeans Créditos Yann Arthur Nicolas yannart@gmail.com Objetivo Crear una primera aplicacion con JSF utilizando

< !DOCTYPE HTML PUBLIC "­//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd" > 

< html > < head > < meta http­equiv="Content­Type" content="text/html; charset=UTF­8" > < title > tutorial JSF< /title > < /head > < body > 

< h1 > Bienvenido al tutorial JSF< /h1 > < br/ > < a href="./faces/entrada.jsp" > Dar tu nombre< /a > < /body > < /html > 

entrada.jsp 

< %­­ Importa los tags html para jsf­­% > < %@ taglib uri="http://java.sun.com/jsf/html" prefix="h" % > < %­­ Importa los tags de control para jsf­­% > < %@ taglib uri="http://java.sun.com/jsf/core" prefix="f" % > < %­­ Utiliza el siguiente archivo de recursos­­% > < f:loadBundle basename="hola.recursos.mensajes" var="msj"/ > 

< html > < head > < title > Dar nombre< /title > < /head > < body > < f:view > < h1 > < %­­ Pintamos texto­­% > < h:outputText value="#{msj.cabezal}"/ > 

< /h1 > < p > < %­­ Pintamos mensajes de error­­% > < h:messages style="color:red"/ > < /p > < %­­ Formulario­­% > < h:form id="helloForm" > < %­­ Pintamos texto­­% > < h:outputText value="#{msj.dar_nombre}"/ > < %­­ Campo de texto obligatorio cuyo valor se manda al atributo nombre del Bean personaBean ­­% > < h:inputText value="#{personaBean.nombre}" required="true" > < %­­ la entrada debe de tener entre 2 y 15 caracteres ­­% > < f:validateLength minimum="2" maximum="15"/ > 

Page 6: Introducción a JSF con NetBeans€¦ · Introducción a JSF con NetBeans Créditos Yann Arthur Nicolas yannart@gmail.com Objetivo Crear una primera aplicacion con JSF utilizando

< /h:inputText > < %­­ boton que ejecuta la accion­­% > < h:commandButton action="saluda" value="#{msj.boton}" / > < /h:form > < /f:view > < /body > < /html > 

Page 7: Introducción a JSF con NetBeans€¦ · Introducción a JSF con NetBeans Créditos Yann Arthur Nicolas yannart@gmail.com Objetivo Crear una primera aplicacion con JSF utilizando

hola.jsp 

< %­­ Importa los tags html para jsf­­% > < %@ taglib uri="http://java.sun.com/jsf/html" prefix="h" % > < %­­ Importa los tags de control para jsf­­% > < %@ taglib uri="http://java.sun.com/jsf/core" prefix="f" % > < %­­ Utiliza el siguiente archivo de recursos­­% > < f:loadBundle basename="hola.recursos.mensajes" var="msj"/ > 

< html > < head > < title > Bienvenido< /title > < /head > < body > < f:view > < h1 > < %­­ pintamos textos­­% > < h:outputText value="#{msj.signo1}" / > < h:outputText value="#{msj.saludo1}" / > < %­­ se recupera el valor nombre del Bean personaBean­­% > < h:outputText value="#{personaBean.nombre}" / > < h:outputText value="#{msj.saludo2}" / > < h:outputText value="#{msj.signo2}" / > < /h1 > < /f:view > < /body > < /html > 

Page 8: Introducción a JSF con NetBeans€¦ · Introducción a JSF con NetBeans Créditos Yann Arthur Nicolas yannart@gmail.com Objetivo Crear una primera aplicacion con JSF utilizando

JavaBeanFile ­> New File ... Categories ­> JavaBeans Object File Types ­> JavaBeans Component 

Boton Next

• Class Name: PersonaBean • Package: hola 

 

Botón Finish Remplazamos el contenido del archivo ParsonaBean.java: 

package hola; 

import java.beans.*; import java.io.Serializable; 

/** * @author yannart */ public class PersonaBean {         private String nombre; 

        public String getNombre() { 

Page 9: Introducción a JSF con NetBeans€¦ · Introducción a JSF con NetBeans Créditos Yann Arthur Nicolas yannart@gmail.com Objetivo Crear una primera aplicacion con JSF utilizando

                return nombre;         } 

        public void setNombre(String nombre) {                 this.nombre = nombre;         } } 

Page 10: Introducción a JSF con NetBeans€¦ · Introducción a JSF con NetBeans Créditos Yann Arthur Nicolas yannart@gmail.com Objetivo Crear una primera aplicacion con JSF utilizando

.propertiesCreamos el archivo que contendrá los mensajes utilizados en las JSP:File ­> New File Categories ­> Other File Tipes ­> Properties File 

Botón Next

Cambiamos los siguientes campos:

• File Name: mensajes • Folder: src/java/hola/recursos 

Pulsamos Finish

Cambiamos el contenido de este archivo por:

#lista de mensajes utilizados en las JSP cabezal=Tutorial JSF dar_nombre=Por favor escriba su nombre: saludo1=Bienvenido saludo2= a JSF boton=Saludarte signo1=¡ signo2=!

Page 11: Introducción a JSF con NetBeans€¦ · Introducción a JSF con NetBeans Créditos Yann Arthur Nicolas yannart@gmail.com Objetivo Crear una primera aplicacion con JSF utilizando

faces­config.xmlAhora solo nos falta remplazar el contenido del archivo faces­config.xml de la carpeta Configuration faces: 

< ?xml version="1.0"? > < !DOCTYPE faces­config PUBLIC "­//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.1//EN" "http://java.sun.com/dtd/web­facesconfig_1_1.dtd" > 

< faces­config >         < navigation­rule >                 < from­view­id > /entrada.jsp< /from­view­id >                 < navigation­case >                         < from­outcome > saluda< /from­outcome >                         < to­view­id > /hola.jsp< /to­view­id >                 < /navigation­case >         < /navigation­rule > 

< managed­bean > < managed­bean­name > personaBean< /managed­bean­name > < managed­bean­class > hola.PersonaBean< /managed­bean­class > < managed­bean­scope > request< /managed­bean­scope > < /managed­bean > < /faces­config > 

Page 12: Introducción a JSF con NetBeans€¦ · Introducción a JSF con NetBeans Créditos Yann Arthur Nicolas yannart@gmail.com Objetivo Crear una primera aplicacion con JSF utilizando

Ejecución del proyectoSi hicimos todo bien, deberíamos de ejecutar sin problema el proyecto:

Run ­> Run Main Proyect (o pulsamos F6) Algunas capturas de la ventana de navegador: