Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
ELABORADO POR LIC. JOSE SALVADOR OLIVARES EMAIL: salvador.olivares.sv@gmail.com PRACTICA No 7 NIVEL AVANZADO DESARROLLO DE APLICACIONES CON PRIMEFACES
1) Vamos a crear un nuevo proyecto en Netbeans. Seleccionamos la opcin File y luego New Project.
http://portaldejava.com
Pgina 1
3) Asignamos un nombre a nuestro proyecto. Le pondremos Practica07 y lo almacenamos dentro de la carpeta c:\ProyectosNetbeans\Avanzado.
http://portaldejava.com
Pgina 2
4) Seleccionamos Apache Tomcat como servidor web. Los dems parmetros no los modificamos.
5) Netbeans nos preguntar si utilizaremos alguno de los framework que trae por defecto. Seleccionamos Java Server Faces. Luego seleccionamos la vieta Components.
http://portaldejava.com
Pgina 3
7) Netbeans nos crea el proyecto web y por defecto crea una pgina de prueba con el nombre index.xhtml. Adems en la opcin Libraries aparecen las libreras de PrimeFaces adicionadas a nuestro proyecto.
http://portaldejava.com
Pgina 4
8) Vamos a crear nuestra primera Java Server Face (JSF). Seleccionamos el proyecto dando un clic al nombre del proyecto, luego damos un clic derecho y seleccionamos la opcin New y finalmente la opcin Other.
9) Seleccionamos la opcin Java Server Faces para crear nuestra primera pagina JSF utilizando PrimeFaces, luego seleccionamos JSF Page. Luego damos un clic en Next.
http://portaldejava.com
Pgina 5
10) Ahora asignamos el nombre a nuestra pgina JSF. Le pondremos de nombre outputLabelJSF. Luego damos un clic en Finish para terminar.
11) Escribimos el cdigo de nuestra pgina JSF. Tome nota de crear el espacio de nombre: xmlns:p=http://primefaces.prime.com.tr/ui en el encabezado de la pgina JSF si no le aparece.
http://portaldejava.com
Pgina 6
Cdigo de la pgina: <?xml version='1.0' encoding='UTF-8' ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html" xmlns:p="http://primefaces.prime.com.tr/ui"> <h:head> <title>Persona</title> </h:head> <h:body> <h:form> <p:panel id="panel" header="Persona" style="margin-bottom:10px;"> <p:messages id="messages" /> <h:panelGrid columns="2"> <h:outputLabel for="nombres" value="Nombres" /> <p:inputText id="nombres" required="true" maxlength="30" requiredMessage="Los nombres son obligatorios"/> <h:outputLabel for="apellidos" value="Apellidos" /> <p:inputText id="apellidos" required="true" maxlength="30" requiredMessage="Los apellidos son obligatorios"/> </h:panelGrid> </p:panel> <p:commandButton value="Submit" update="panel" style="margin-right:20px;"/> </h:form> </h:body> </html> 12) Seleccionamos la pgina creada y damos un clic derecho y seleccionamos la opcin Run File.
http://portaldejava.com
Pgina 7
13) Se abre el navegador y se carga la pgina creada. Sin llenar ningn campo damos un clic en Submit para verificar que se muestre los mensajes indicando que los campos son obligatorios.
14) Si digitamos informacin en los campos nombres y apellidos y damos un clic en Submit no se muestra los errores ya que los campos tienen informacin.
http://portaldejava.com
Pgina 8
15) Vamos a crear nuestra segunda Java Server Face (JSF). Seleccionamos el proyecto dando un clic al nombre del proyecto, luego damos un clic derecho y seleccionamos la opcin New y finalmente la opcin Other.
16) Seleccionamos la opcin Java Server Faces para crear nuestra segunda pgina JSF utilizando PrimeFaces, luego seleccionamos JSF Page. Luego damos un clic en Next.
http://portaldejava.com
Pgina 9
17) Ahora asignamos el nombre a nuestra pgina JSF. Le pondremos de nombre validacionDatos. Luego damos un clic en Finish para terminar.
18) Escribimos el cdigo de nuestra pgina JSF. Tome nota de crear el espacio de nombre: xmlns:p=http://primefaces.prime.com.tr/ui en el encabezado de la pgina JSF si no le aparece.
http://portaldejava.com
Pgina 10
Cdigo de la pagina: <?xml version='1.0' encoding='UTF-8' ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core" xmlns:p="http://primefaces.prime.com.tr/ui"> <h:head> <title>Persona</title> </h:head> <h:body> <h:form id="form"> <p:panel id="panel" header="Persona"> <p:messages id="msgs"/> <h:panelGrid columns="3"> <h:outputLabel for="nombres" value="Nombres: *" /> <p:inputText id="nombres" value="#{beanPersona.nombres}" required="true" label="Nombres" requiredMessage="Los nombres son obligatorios"> <f:validateLength minimum="3" /> </p:inputText> <p:message for="nombres" display="icon"/> <h:outputLabel for="apellidos" value="Apellidos: *" /> <p:inputText id="apellidos" value="#{beanPersona.apellidos}" required="true" label="Apellidos" requiredMessage="Los apellidos son obligatorios"> <f:validateLength minimum="3" /> </p:inputText> <p:message for="apellidos" display="icon"/> </h:panelGrid> <p:commandButton id="Guardar" value="Guardar" update="panel" action="#{beanPersona.guardarPersona}"/> </p:panel> </h:form> </h:body> </html>
http://portaldejava.com
Pgina 11
19) Seleccionamos Source Packages y damos un clic derecho, luego seleccionamos Other.
20) Seleccionamos la opcin Java Server Faces y luego JSF Managed Bean. Luego damos un clic en Next para continuar.
http://portaldejava.com
Pgina 12
21) En Class Name asignamos el nombre BeanPersona. En package digitamos managed_beans para el nombre del paquete. En scope dejamos por defecto la opcin Request. En la pgina JSF utilizaremos como nombre del bean beanPersona.. Damos un clic en Finish para terminar.
22) Declaramos los atributos nombres y apellidos del tipo privado y luego creamos los mtodos get y set para implementar el encapsulamiento.
http://portaldejava.com
Pgina 13
23) Ahora vamos a implementar la lgica de nuestro Managed Bean. En este paso ya debemos de haber implementado el encapsulamiento de nuestros atributos privados nombres y apellidos. Adems agregamos el mtodo guardarPersona con el cdigo que se muestra.
Pgina 14
import javax.faces.bean.RequestScoped; import javax.faces.context.FacesContext; /** * * @author Jose Salvador Olivares */ @ManagedBean @RequestScoped public class BeanPersona { private String nombres; public String getApellidos() { return apellidos; } public void setApellidos(String apellidos) { this.apellidos = apellidos; } public String getNombres() { return nombres; } public void setNombres(String nombres) { this.nombres = nombres; } private String apellidos; /** * Creates a new instance of BeanPersona */ public BeanPersona() { } public void guardarPersona() { FacesMessage msg = new FacesMessage("Guardando Datos..."); msg.setSeverity(FacesMessage.SEVERITY_INFO); FacesContext.getCurrentInstance().addMessage(null, msg); } }
http://portaldejava.com
Pgina 15
24) Ahora seleccionamos la pgina JSF creada y damos un clic derecho y seleccionamos la opcin Run File.
25) Se abre el navegador y se muestra la pgina JSF validarDatos.xhtml. Sin completar ningn campo damos un clic en el botn Guardar y se muestra los mensajes de error programados en la pgina.
http://portaldejava.com
Pgina 16
26) Ahora digitamos valores en los campos Nombres y Apellidos y damos un clic en Guardar. Se debe de mostrar un mensaje indicando que se estn Guardando Datos.
27) Vamos a crear nuestra tercera Java Server Face (JSF). Seleccionamos el proyecto dando un clic al nombre del proyecto, luego damos un clic derecho y seleccionamos la opcin New y finalmente la opcin Other.
http://portaldejava.com
Pgina 17
28) Seleccionamos la opcin Java Server Faces para crear nuestra tercera pgina JSF utilizando PrimeFaces, luego seleccionamos JSF Page. Luego damos un clic en Next.
29) Ahora asignamos el nombre a nuestra pgina JSF. Le pondremos de nombre mascaraDatos. Luego damos un clic en Finish para terminar.
http://portaldejava.com
Pgina 18
30) Escribimos el cdigo de nuestra pgina JSF. Tome nota de crear el espacio de nombre: xmlns:p=http://primefaces.prime.com.tr/ui en el encabezado de la pgina JSF si no le aparece.
Cdigo de la pgina
<?xml version='1.0' encoding='UTF-8' ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html" xmlns:p="http://primefaces.prime.com.tr/ui"> <h:head> <title>Validacion Mascara</title> </h:head> <h:body> <h:form id="form"> <p:panel id="panel" header="Mascara"> <p:messages id="msgs"/> <h:panelGrid columns="3"> <h:outputText value="Fecha Nacimiento: " /> <p:inputMask id="fechaNacimiento" value="#{beanMascara.fechaNacimiento}" mask="99/99/9999" required="true" requiredMessage="La fecha de nacimiento es obligatoria"/> <p:message for="fechaNacimiento" display="icon"/> <h:outputText value="Telefono Domicilio: " />
http://portaldejava.com
Pgina 19
<p:inputMask id="telefonoDomicilio" value="#{beanMascara.telefonoDomicilio}" mask="9999-9999" required="true" requiredMessage="El telefono de domicilio es obligatorio"/> <p:message for="telefonoDomicilio" display="icon"/> <h:outputText value="No Nit: " /> <p:inputMask id="noNit" value="#{beanMascara.noNit}" mask="9999-999999-999-9" required="true" requiredMessage="El numero de nit es obligatorio"/> <p:message for="noNit" display="icon"/> <p:commandButton id="Guardar" value="Guardar" update="panel" action="#{beanMascara.guardarDatos}"/> <p:commandButton id="Limpiar" value="Limpiar" update="panel" action="#{beanMascara.limpiarDatos}"/> </h:panelGrid> </p:panel> </h:form> </h:body> </html>
31) Seleccionamos el paquete managed_beans y damos un clic derecho, seleccionamos New y luego seleccionamos Other.
http://portaldejava.com
Pgina 20
32) Seleccionamos la opcin Java Server Faces y luego JSF Managed Bean. Luego damos un clic en Next para continuar.
33) En Class Name asignamos el nombre BeanMascara. En package nos aparece managed_beans para el nombre del paquete. En scope dejamos por defecto la opcin Request. En las paginas JSF utilizaremos como nombre del bean beanMascara.. Damos un clic en Finish para terminar.
http://portaldejava.com
Pgina 21
34) Declaramos los atributos fechaNacimiento, telefonoDomicilio y noNit del tipo privado y luego creamos los mtodos get y set para implementar el encapsulamiento.
35) Ahora vamos a implementar la lgica de nuestro Managed Bean. En este paso ya debemos de haber implementado el encapsulamiento de nuestros atributos privados fechaNacimiento, telefonoDomicilio y noNit. Adems agregamos el mtodo guardarDatos y limpiarDatos con el cdigo que se muestra.
http://portaldejava.com
Pgina 22
Cdigo de la clase: package managed_beans; import javax.faces.application.FacesMessage; import javax.faces.bean.ManagedBean; import javax.faces.bean.RequestScoped; import javax.faces.context.FacesContext; /** * * @author Jose Salvador Olivares */ @ManagedBean @RequestScoped public class BeanMascara { private String fechaNacimiento;
http://portaldejava.com
Pgina 23
public String getFechaNacimiento() { return fechaNacimiento; } public void setFechaNacimiento(String fechaNacimiento) { this.fechaNacimiento = fechaNacimiento; } public String getNoNit() { return noNit; } public void setNoNit(String noNit) { this.noNit = noNit; } public String getTelefonoDomicilio() { return telefonoDomicilio; } public void setTelefonoDomicilio(String telefonoDomicilio) { this.telefonoDomicilio = telefonoDomicilio; } private String telefonoDomicilio; private String noNit; /** * Creates a new instance of BeanMascara */ public BeanMascara() { } public void limpiarDatos() { this.fechaNacimiento=""; this.telefonoDomicilio=""; this.noNit=""; } public void guardarDatos() { FacesMessage msg = new FacesMessage("Guardando Datos..."); msg.setSeverity(FacesMessage.SEVERITY_INFO); FacesContext.getCurrentInstance().addMessage(null, msg); } }
http://portaldejava.com
Pgina 24
36) Seleccionamos la pgina JSF creada mascaraDatos y damos un clic derecho y seleccionamos la opcin Run File.
37) Se abre el navegador y se carga la pagina mascaraDatos. Sin completar ningn campo damos un clic en el botn Guardar. Nos deber de aparecer los errores que hemos programado cuando los campos estn vacios.
http://portaldejava.com
Pgina 25
38) Ahora completamos los campos Fecha de Nacimiento, Telfono del Domicilio y Nmero de Nit. Luego damos un clic en el botn Guardar. Se muestra un mensaje indicando que se estn Guardando los Datos. En esta pgina hemos utilizado el control para manejar la mascara de entrada de datos para los tres campos.
39) Vamos a crear nuestra cuarta Java Server Face (JSF). Seleccionamos el proyecto dando un clic al nombre del proyecto, luego damos un clic derecho y seleccionamos la opcin New y finalmente la opcin Other.
http://portaldejava.com
Pgina 26
40) Seleccionamos la opcin Java Server Faces para crear nuestra cuarta pgina JSF utilizando PrimeFaces, luego seleccionamos JSF Page. Luego damos un clic en Next.
41) Ahora asignamos el nombre a nuestra pgina JSF. Le pondremos de nombre mostrarCalendario. Luego damos un clic en Finish para terminar.
http://portaldejava.com
Pgina 27
42) Escribimos el cdigo de nuestra pgina JSF. Tome nota de crear el espacio de nombre: xmlns:p=http://primefaces.prime.com.tr/ui en el encabezado de la pgina JSF si no le aparece.
Cdigo de la pgina:
<?xml version='1.0' encoding='UTF-8' ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core" xmlns:p="http://primefaces.prime.com.tr/ui"> <h:head> <title>Calendario</title> </h:head> <h:body> <h:form id="form"> <p:panel header="Calendario"> <p:messages id="msgs"/> <h:panelGrid columns="3" cellpadding="5"> <h:outputText value="Fecha Registro: " /> <p:calendar id="fechaCalendario" value="#{beanCalendario.fechaCalendario}" showOn="button" readOnlyInputText="true" required="true" locale="es" navigator="true" requiredMessage="La fecha de registro es requerida..." pattern="dd/MM/yyyy"/> <p:message id="msg" for="fechaCalendario" /> <h:commandButton value="Guardar" action="#{beanCalendario.guardarDatos}"/> <h:commandButton value="Limpiar" action="#{beanCalendario.limpiarDatos}"/> </h:panelGrid> </p:panel> Elaborado por Jos Salvador Olivares http://portaldejava.com
Pgina 28
43) Seleccionamos el paquete managed_beans y damos un clic derecho, seleccionamos New y luego seleccionamos Other.
http://portaldejava.com
Pgina 29
44) Seleccionamos la opcin Java Server Faces y luego JSF Managed Bean. Luego damos un clic en Next para continuar.
45) En Class Name asignamos el nombre BeanCalendario. En package nos aparece managed_beans para el nombre del paquete. En scope dejamos por defecto la opcin Request. En las paginas JSF utilizaremos como nombre del bean beanCalendario. Damos un clic en Finish para terminar.
http://portaldejava.com
Pgina 30
46) Declaramos el atributo fechaCalendario con alcance privado y luego creamos los mtodos get y set para implementar el encapsulamiento.
http://portaldejava.com
Pgina 31
47) Ahora vamos a implementar la lgica de nuestro Managed Bean. En este paso ya debemos de haber implementado el encapsulamiento de nuestro atributo privado fechaCalendario. Adems agregamos el mtodo guardarDatos y limpiarDatos con el cdigo que se muestra.
http://portaldejava.com
Pgina 32
48) Seleccionamos la pgina JSF mostrarCalendario y damos un clic derecho y seleccionamos la opcin Run File.
49) Se abre el navegador y se carga la pagina mostrarCalendario. Sin completar el campo damos un clic en el botn Guardar. Nos deber de aparecer los errores que hemos programado cuando los campos estn vacios.
http://portaldejava.com
Pgina 33
50) Ahora seleccionamos la Fecha de Registro. Luego damos un clic en el botn Guardar.
51) Despus de dar clic al botn Guardar se muestra un mensaje indicando que se estn Guardando los Datos.
http://portaldejava.com
Pgina 34
52) Vamos a crear nuestra quinta Java Server Face (JSF). Seleccionamos el proyecto dando un clic al nombre del proyecto, luego damos un clic derecho y seleccionamos la opcin New y finalmente la opcin Other.
53) Seleccionamos la opcin Java Server Faces para crear nuestra quinta pgina JSF utilizando PrimeFaces, luego seleccionamos JSF Page. Luego damos un clic en Next.
http://portaldejava.com
Pgina 35
54) Ahora asignamos el nombre a nuestra pgina JSF. Le pondremos de nombre registroContribuyentes. Luego damos un clic en Finish para terminar.
55) Escribimos el cdigo de nuestra pgina JSF. Tome nota de crear el espacio de nombre: xmlns:p=http://primefaces.prime.com.tr/ui en el encabezado de la pgina JSF si no le aparece.
http://portaldejava.com
Pgina 36
Cdigo de la pgina <?xml version='1.0' encoding='UTF-8' ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html" xmlns:p="http://primefaces.prime.com.tr/ui" xmlns:f="http://java.sun.com/jsf/core"> <h:head> <title>Registro de Contribuyentes</title> </h:head> <h:body> <h:form> <p:panel header="Registro de Contribuyentes"> <p:messages id="msgs"/> <h:panelGrid columns="3" cellpadding="5"> <h:outputText value="No Nit: " /> <p:inputMask id="no_nit" value="#{beanContribuyentes.noNit}" mask="9999999999-999-9" required="true" requiredMessage="No nit es requerido..."> </p:inputMask> <p:message id="no_nit_error" for="no_nit"/> <h:outputText value="Nombre Contribuyente: " /> <p:inputText id="nombre_contribuyente" value="#{beanContribuyentes.nombreContribuyente}" required="true" requiredMessage="Nombre contribuyente es requerido..."> </p:inputText> <p:message id="nombre_contribuyente_error" for="nombre_contribuyente" /> <h:outputText value="Razon Social: " />
Elaborado por Jos Salvador Olivares http://portaldejava.com
Pgina 37
<p:inputText id="razon_social" value="#{beanContribuyentes.razonSocial}" required="true" requiredMessage="Razon social es requerida..."> </p:inputText> <p:message id="razon_social_error" for="razon_social" /> <h:outputText value="Representante Legal: " /> <p:inputText id="representante_legal" value="#{beanContribuyentes.representanteLegal}" required="true" requiredMessage="Representante legal es requerido..."> </p:inputText> <p:message id="representante_legal_error" for="representante_legal" /> <h:outputText value="Renta Anual: " /> <p:inputMask id="renta_anual" value="#{beanContribuyentes.rentaAnual}" mask="9,999.99" required="true" requiredMessage="Renta anual es requerida..."> </p:inputMask> <p:message id="renta_anual_error" for="renta_anual" /> <h:outputText value="Fecha Registro: " /> <p:calendar id="fecha_registro" value="#{beanContribuyentes.fechaRegistro}" showOn="button" readOnlyInputText="true" required="true" locale="es" navigator="true" requiredMessage="La fecha de registro es requerida..." pattern="dd/MM/yyyy"/> <p:message id="fecha_registro_error" for="fecha_registro" /> <h:outputText value="Estado Contribuyente: " /> <h:selectOneMenu value="#{beanContribuyentes.estado}"> <f:selectItem itemValue="A" itemLabel="Activo" /> <f:selectItem itemValue="I" itemLabel="Inactivo" /> </h:selectOneMenu> </h:panelGrid> <h:panelGrid columns="2" cellpadding="5"> <h:commandButton value="Guardar" action="#{beanContribuyentes.guardarContribuyente}"/> <h:commandButton value="Limpiar" action="#{beanContribuyentes.limpiarContribuyente}"/> </h:panelGrid> </p:panel> </h:form> </h:body> </html>
http://portaldejava.com
Pgina 38
56) Seleccionamos el paquete managed_beans y damos un clic derecho, seleccionamos New y luego seleccionamos Other.
57) Seleccionamos la opcin Java Server Faces y luego JSF Managed Bean. Luego damos un clic en Next para continuar.
http://portaldejava.com
Pgina 39
58) En Class Name asignamos el nombre BeanContribuyentes. En package nos aparece managed_beans para el nombre del paquete. En scope dejamos por defecto la opcin Request. En las paginas JSF utilizaremos como nombre del bean beanContribuyentes. Damos un clic en Finish para terminar.
59) Declaramos los atributos noNit, nombreContribuyente, razonSocial, representanteLegal, rentaAnual, fechaRegistro, estado con alcance privado y luego creamos los mtodos get y set para implementar el encapsulamiento.
http://portaldejava.com
Pgina 40
60) Ahora vamos a implementar la lgica de nuestro Managed Bean. En este paso ya debemos de haber implementado el encapsulamiento de nuestros atributos privados noNit, nombreContribuyente, razonSocial, representanteLegal, rentaAnual, fechaRegistro, estado. Adems agregamos el mtodo guardarContribuyente y limpiarContribuyente con el cdigo que se muestra.
http://portaldejava.com
Pgina 41
Cdigo de la clase:
package managed_beans; import java.util.Date; import javax.faces.application.FacesMessage; import javax.faces.bean.ManagedBean; import javax.faces.bean.RequestScoped; import javax.faces.context.FacesContext; /** * Elaborado por Jos Salvador Olivares http://portaldejava.com
Pgina 42
* @author Jose Salvador Olivares */ @ManagedBean @RequestScoped public class BeanContribuyentes { private String noNit; public String getEstado() { return estado; } public void setEstado(String estado) { this.estado = estado; } public Date getFechaRegistro() { return fechaRegistro; } public void setFechaRegistro(Date fechaRegistro) { this.fechaRegistro = fechaRegistro; } public String getNoNit() { return noNit; } public void setNoNit(String noNit) { this.noNit = noNit; } public String getNombreContribuyente() { return nombreContribuyente; } public void setNombreContribuyente(String nombreContribuyente) { this.nombreContribuyente = nombreContribuyente; } public String getRazonSocial() { return razonSocial; } public void setRazonSocial(String razonSocial) { this.razonSocial = razonSocial; } public String getRentaAnual() { return rentaAnual; } public void setRentaAnual(String rentaAnual) { this.rentaAnual = rentaAnual; Elaborado por Jos Salvador Olivares http://portaldejava.com
Pgina 43
} public String getRepresentanteLegal() { return representanteLegal; } public void setRepresentanteLegal(String representanteLegal) { this.representanteLegal = representanteLegal; } private String nombreContribuyente; private String razonSocial; private String representanteLegal; private String rentaAnual; private Date fechaRegistro; private String estado; /** * Creates a new instance of BeanContribuyentes */ public BeanContribuyentes() { } public void limpiarContribuyente(){ this.noNit=""; this.nombreContribuyente=""; this.razonSocial=""; this.representanteLegal=""; this.rentaAnual=""; this.fechaRegistro=null; } public void guardarContribuyente(){ FacesMessage msg = new FacesMessage("Guardando Datos..."); msg.setSeverity(FacesMessage.SEVERITY_INFO); FacesContext.getCurrentInstance().addMessage(null, msg); } }
http://portaldejava.com
Pgina 44
61) Seleccionamos la pgina JSF registroContribuyentes y damos un clic derecho y seleccionamos la opcin Run File.
62) Se abre el navegador y se carga la pagina registroContribuyentes. Sin completar los campos damos un clic en el botn Guardar. Nos deber de aparecer los errores que hemos programado cuando los campos estn vacios.
http://portaldejava.com
Pgina 45
63) El formulario muestra los mensajes de error indicando que los campos no se han completado.
http://portaldejava.com
Pgina 46
64) Completamos los campos y luego damos un clic en Guardar. Se debe de mostrar un mensaje indicando que se estn Guardando los Datos. Tome nota que el botn Limpiar sirve para inicializar los campos.
http://portaldejava.com
Pgina 47