SlideShare una empresa de Scribd logo
1 de 47
Descargar para leer sin conexión
CURSO DE PROGRAMACION EN EL LENGUAJE JAVA

                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 opción File y
      luego New Project.




Elaborado por José Salvador Olivares   http://portaldejava.com           Página 1
2) Seleccionamos la opción Java Web y luego Web Application.




   3) Asignamos un nombre a nuestro proyecto. Le pondremos Practica07 y lo
      almacenamos dentro de la carpeta c:ProyectosNetbeansAvanzado.




Elaborado por José Salvador Olivares   http://portaldejava.com     Página 2
4) Seleccionamos Apache Tomcat como servidor web. Los demás parámetros no
      los modificamos.




   5) Netbeans nos preguntará si utilizaremos alguno de los framework que trae por
      defecto. Seleccionamos Java Server Faces. Luego seleccionamos la viñeta
      Components.




Elaborado por José Salvador Olivares   http://portaldejava.com            Página 3
6) Ahora seleccionamos la opción PrimeFaces. Finalmente damos un clic en Finish.




   7) Netbeans nos crea el proyecto web y por defecto crea una página de prueba con
      el nombre index.xhtml. Además en la opción Libraries aparecen las librerías de
      PrimeFaces adicionadas a nuestro proyecto.




Elaborado por José Salvador Olivares     http://portaldejava.com              Página 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 opción New y finalmente la opción Other.




   9) Seleccionamos la opción Java Server Faces para crear nuestra primera pagina
      JSF utilizando PrimeFaces, luego seleccionamos JSF Page. Luego damos un clic
      en Next.




Elaborado por José Salvador Olivares   http://portaldejava.com            Página 5
10) Ahora asignamos el nombre a nuestra página JSF. Le pondremos de nombre
       outputLabelJSF. Luego damos un clic en Finish para terminar.




   11) Escribimos el código de nuestra página JSF. Tome nota de crear el espacio de
       nombre: xmlns:p=”http://primefaces.prime.com.tr/ui” en el encabezado de la
       página JSF si no le aparece.




Elaborado por José Salvador Olivares    http://portaldejava.com            Página 6
Código de la página:

   <?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 página creada y damos un clic derecho y seleccionamos la
       opción Run File.




Elaborado por José Salvador Olivares        http://portaldejava.com              Página 7
13) Se abre el navegador y se carga la página creada. Sin llenar ningún campo damos
       un clic en Submit para verificar que se muestre los mensajes indicando que los
       campos son obligatorios.




   14) Si digitamos información en los campos nombres y apellidos y damos un clic en
       Submit no se muestra los errores ya que los campos tienen información.




Elaborado por José Salvador Olivares     http://portaldejava.com              Página 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 opción New y finalmente la opción Other.




   16) Seleccionamos la opción Java Server Faces para crear nuestra segunda página
       JSF utilizando PrimeFaces, luego seleccionamos JSF Page. Luego damos un clic
       en Next.




Elaborado por José Salvador Olivares   http://portaldejava.com             Página 9
17) Ahora asignamos el nombre a nuestra página JSF. Le pondremos de nombre
       validacionDatos. Luego damos un clic en Finish para terminar.




   18) Escribimos el código de nuestra página JSF. Tome nota de crear el espacio de
       nombre: xmlns:p=”http://primefaces.prime.com.tr/ui” en el encabezado de la
       página JSF si no le aparece.




Elaborado por José Salvador Olivares    http://portaldejava.com           Página 10
Código 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>




Elaborado por José Salvador Olivares          http://portaldejava.com                 Página 11
19) Seleccionamos Source Packages y damos un clic derecho, luego seleccionamos
       Other.




   20) Seleccionamos la opción Java Server Faces y luego JSF Managed Bean. Luego
       damos un clic en Next para continuar.




Elaborado por José Salvador Olivares   http://portaldejava.com          Página 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
       opción Request. En la página 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 métodos get y set para implementar el encapsulamiento.




Elaborado por José Salvador Olivares     http://portaldejava.com             Página 13
23) Ahora vamos a implementar la lógica de nuestro Managed Bean. En este paso ya
       debemos de haber implementado el encapsulamiento de nuestros atributos
       privados nombres y apellidos. Además agregamos el método guardarPersona
       con el código que se muestra.




   Código de la clase:

   package managed_beans;

   import javax.faces.application.FacesMessage;
   import javax.faces.bean.ManagedBean;

Elaborado por José Salvador Olivares         http://portaldejava.com      Página 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);
       }
   }




Elaborado por José Salvador Olivares              http://portaldejava.com   Página 15
24) Ahora seleccionamos la página JSF creada y damos un clic derecho y
       seleccionamos la opción Run File.




   25) Se abre el navegador y se muestra la página JSF validarDatos.xhtml. Sin
       completar ningún campo damos un clic en el botón Guardar y se muestra los
       mensajes de error programados en la página.




Elaborado por José Salvador Olivares   http://portaldejava.com         Página 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 están 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 opción New y finalmente la opción Other.




Elaborado por José Salvador Olivares   http://portaldejava.com            Página 17
28) Seleccionamos la opción Java Server Faces para crear nuestra tercera página
       JSF utilizando PrimeFaces, luego seleccionamos JSF Page. Luego damos un clic
       en Next.




   29) Ahora asignamos el nombre a nuestra página JSF. Le pondremos de nombre
       mascaraDatos. Luego damos un clic en Finish para terminar.




Elaborado por José Salvador Olivares   http://portaldejava.com            Página 18
30) Escribimos el código de nuestra página JSF. Tome nota de crear el espacio de
       nombre: xmlns:p=”http://primefaces.prime.com.tr/ui” en el encabezado de la
       página JSF si no le aparece.




   Código de la página

   <?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: " />



Elaborado por José Salvador Olivares             http://portaldejava.com                    Página 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.




Elaborado por José Salvador Olivares            http://portaldejava.com                    Página 20
32) Seleccionamos la opción 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
       opción Request. En las paginas JSF utilizaremos como nombre del bean
       beanMascara.. Damos un clic en Finish para terminar.




Elaborado por José Salvador Olivares   http://portaldejava.com          Página 21
34) Declaramos los atributos fechaNacimiento, telefonoDomicilio y noNit del tipo
       privado y luego creamos los métodos get y set para implementar el
       encapsulamiento.




   35) Ahora vamos a implementar la lógica de nuestro Managed Bean. En este paso ya
       debemos de haber implementado el encapsulamiento de nuestros atributos
       privados fechaNacimiento, telefonoDomicilio y noNit. Además agregamos el
       método guardarDatos y limpiarDatos con el código que se muestra.




Elaborado por José Salvador Olivares    http://portaldejava.com           Página 22
Código 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;




Elaborado por José Salvador Olivares         http://portaldejava.com   Página 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);
       }
   }




Elaborado por José Salvador Olivares            http://portaldejava.com   Página 24
36) Seleccionamos la página JSF creada mascaraDatos y damos un clic derecho y
       seleccionamos la opción Run File.




   37) Se abre el navegador y se carga la pagina mascaraDatos. Sin completar ningún
       campo damos un clic en el botón Guardar. Nos deberá de aparecer los errores
       que hemos programado cuando los campos están vacios.




Elaborado por José Salvador Olivares    http://portaldejava.com           Página 25
38) Ahora completamos los campos Fecha de Nacimiento, Teléfono del Domicilio y
       Número de Nit. Luego damos un clic en el botón Guardar. Se muestra un mensaje
       indicando que se están Guardando los Datos. En esta página 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 opción New y finalmente la opción Other.




Elaborado por José Salvador Olivares    http://portaldejava.com            Página 26
40) Seleccionamos la opción Java Server Faces para crear nuestra cuarta página
       JSF utilizando PrimeFaces, luego seleccionamos JSF Page. Luego damos un clic
       en Next.




   41) Ahora asignamos el nombre a nuestra página JSF. Le pondremos de nombre
       mostrarCalendario. Luego damos un clic en Finish para terminar.




Elaborado por José Salvador Olivares   http://portaldejava.com            Página 27
42) Escribimos el código de nuestra página JSF. Tome nota de crear el espacio de
       nombre: xmlns:p=”http://primefaces.prime.com.tr/ui” en el encabezado de la
       página JSF si no le aparece.




   Código de la página:

   <?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                    Página 28
</h:form>
     </h:body>
   </html>


   43) Seleccionamos el paquete managed_beans y damos un clic derecho,
       seleccionamos New y luego seleccionamos Other.




Elaborado por José Salvador Olivares   http://portaldejava.com   Página 29
44) Seleccionamos la opción 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
       opción Request. En las paginas JSF utilizaremos como nombre del bean
       beanCalendario. Damos un clic en Finish para terminar.




Elaborado por José Salvador Olivares   http://portaldejava.com          Página 30
46) Declaramos el atributo fechaCalendario con alcance privado y luego creamos los
       métodos get y set para implementar el encapsulamiento.




Elaborado por José Salvador Olivares    http://portaldejava.com             Página 31
47) Ahora vamos a implementar la lógica de nuestro Managed Bean. En este paso ya
       debemos de haber implementado el encapsulamiento de nuestro atributo privado
       fechaCalendario. Además agregamos el método guardarDatos y limpiarDatos
       con el código que se muestra.




Elaborado por José Salvador Olivares    http://portaldejava.com           Página 32
48) Seleccionamos la página JSF mostrarCalendario y damos un clic derecho y
       seleccionamos la opción Run File.




   49) Se abre el navegador y se carga la pagina mostrarCalendario. Sin completar el
       campo damos un clic en el botón Guardar. Nos deberá de aparecer los errores
       que hemos programado cuando los campos están vacios.




Elaborado por José Salvador Olivares    http://portaldejava.com            Página 33
50) Ahora seleccionamos la Fecha de Registro. Luego damos un clic en el botón
       Guardar.




   51) Después de dar clic al botón Guardar se muestra un mensaje indicando que se
       están Guardando los Datos.




Elaborado por José Salvador Olivares   http://portaldejava.com           Página 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 opción New y finalmente la opción Other.




   53) Seleccionamos la opción Java Server Faces para crear nuestra quinta página JSF
       utilizando PrimeFaces, luego seleccionamos JSF Page. Luego damos un clic en
       Next.




Elaborado por José Salvador Olivares    http://portaldejava.com             Página 35
54) Ahora asignamos el nombre a nuestra página JSF. Le pondremos de nombre
       registroContribuyentes. Luego damos un clic en Finish para terminar.




   55) Escribimos el código de nuestra página JSF. Tome nota de crear el espacio de
       nombre: xmlns:p=”http://primefaces.prime.com.tr/ui” en el encabezado de la
       página JSF si no le aparece.




Elaborado por José Salvador Olivares    http://portaldejava.com           Página 36
Código de la página

   <?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="9999-
   999999-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             Página 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>




Elaborado por José Salvador Olivares         http://portaldejava.com               Página 38
56) Seleccionamos el paquete managed_beans y damos un clic derecho,
       seleccionamos New y luego seleccionamos Other.




   57) Seleccionamos la opción Java Server Faces y luego JSF Managed Bean. Luego
       damos un clic en Next para continuar.




Elaborado por José Salvador Olivares   http://portaldejava.com          Página 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 opción 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 métodos get y set para implementar el encapsulamiento.




Elaborado por José Salvador Olivares   http://portaldejava.com           Página 40
60) Ahora vamos a implementar la lógica 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. Además agregamos el método
       guardarContribuyente y limpiarContribuyente con el código que se muestra.




Elaborado por José Salvador Olivares   http://portaldejava.com            Página 41
Código 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   Página 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   Página 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);
       }
   }




Elaborado por José Salvador Olivares                http://portaldejava.com   Página 44
61) Seleccionamos la página JSF registroContribuyentes y damos un clic derecho y
       seleccionamos la opción Run File.




   62) Se abre el navegador y se carga la pagina registroContribuyentes. Sin completar
       los campos damos un clic en el botón Guardar. Nos deberá de aparecer los
       errores que hemos programado cuando los campos están vacios.




Elaborado por José Salvador Olivares     http://portaldejava.com            Página 45
63) El formulario muestra los mensajes de error indicando que los campos no se han
       completado.




Elaborado por José Salvador Olivares    http://portaldejava.com             Página 46
64) Completamos los campos y luego damos un clic en Guardar. Se debe de mostrar
       un mensaje indicando que se están Guardando los Datos. Tome nota que el botón
       Limpiar sirve para inicializar los campos.




Elaborado por José Salvador Olivares    http://portaldejava.com            Página 47

Más contenido relacionado

La actualidad más candente

Reportes En J Developer Parte 1 Y 2
Reportes En J Developer   Parte 1 Y 2Reportes En J Developer   Parte 1 Y 2
Reportes En J Developer Parte 1 Y 2
Steven Gomez
 
Examen febrero 2017-2018_daw_daw_solucion_ (1)
Examen febrero 2017-2018_daw_daw_solucion_ (1)Examen febrero 2017-2018_daw_daw_solucion_ (1)
Examen febrero 2017-2018_daw_daw_solucion_ (1)
jomadega1
 

La actualidad más candente (20)

Jsf
JsfJsf
Jsf
 
Reportes En J Developer Parte 1 Y 2
Reportes En J Developer   Parte 1 Y 2Reportes En J Developer   Parte 1 Y 2
Reportes En J Developer Parte 1 Y 2
 
Servicios Web Rest con Spring MVC
Servicios Web Rest con Spring MVCServicios Web Rest con Spring MVC
Servicios Web Rest con Spring MVC
 
Programacion de aplicaciones Web con ASP.NET
Programacion de aplicaciones Web con ASP.NETProgramacion de aplicaciones Web con ASP.NET
Programacion de aplicaciones Web con ASP.NET
 
Rails intro
Rails introRails intro
Rails intro
 
Dce2 ejercicios asp.net
Dce2 ejercicios asp.netDce2 ejercicios asp.net
Dce2 ejercicios asp.net
 
Ejercicio basico en asp.net LOZADA ERICK
Ejercicio basico en asp.net LOZADA ERICKEjercicio basico en asp.net LOZADA ERICK
Ejercicio basico en asp.net LOZADA ERICK
 
Javascript en proyectos reales: jQuery
Javascript en proyectos reales: jQueryJavascript en proyectos reales: jQuery
Javascript en proyectos reales: jQuery
 
Guia jQuery INCES Militar - Kurt Gude
Guia jQuery INCES Militar - Kurt GudeGuia jQuery INCES Militar - Kurt Gude
Guia jQuery INCES Militar - Kurt Gude
 
Trabajar con bases de datos desde ASP.NET
Trabajar con bases de datos desde ASP.NETTrabajar con bases de datos desde ASP.NET
Trabajar con bases de datos desde ASP.NET
 
Como hacer de todo con PowerShell
Como hacer de todo con PowerShellComo hacer de todo con PowerShell
Como hacer de todo con PowerShell
 
deSymfony 2013 - Creando aplicaciones web desde otro ángulo con Symfony y A...
deSymfony 2013 -  Creando aplicaciones web desde otro ángulo con Symfony y A...deSymfony 2013 -  Creando aplicaciones web desde otro ángulo con Symfony y A...
deSymfony 2013 - Creando aplicaciones web desde otro ángulo con Symfony y A...
 
Tutorial ASP .NET
Tutorial ASP .NETTutorial ASP .NET
Tutorial ASP .NET
 
La magia de jquery
La magia de jqueryLa magia de jquery
La magia de jquery
 
Introducción a DJango
Introducción a DJangoIntroducción a DJango
Introducción a DJango
 
Examen febrero 2017-2018_daw_daw_solucion_ (1)
Examen febrero 2017-2018_daw_daw_solucion_ (1)Examen febrero 2017-2018_daw_daw_solucion_ (1)
Examen febrero 2017-2018_daw_daw_solucion_ (1)
 
Desymfony 2011 - Tutorial #1: Instalacion y primeros pasos
Desymfony 2011 - Tutorial #1: Instalacion y primeros pasosDesymfony 2011 - Tutorial #1: Instalacion y primeros pasos
Desymfony 2011 - Tutorial #1: Instalacion y primeros pasos
 
Desarrollo Web Ágil con Symfony, Bootstrap y Angular
Desarrollo Web Ágil con Symfony, Bootstrap y AngularDesarrollo Web Ágil con Symfony, Bootstrap y Angular
Desarrollo Web Ágil con Symfony, Bootstrap y Angular
 
Windows PowerShell para Desarrolladores SharePoint | SolidQ Summit 2012
Windows PowerShell para Desarrolladores SharePoint | SolidQ Summit 2012Windows PowerShell para Desarrolladores SharePoint | SolidQ Summit 2012
Windows PowerShell para Desarrolladores SharePoint | SolidQ Summit 2012
 
Desarrollo de Aplicaciones con Microsoft Ajax 1.0 y Ajax Control Toolkit
Desarrollo de Aplicaciones con Microsoft Ajax 1.0 y Ajax Control ToolkitDesarrollo de Aplicaciones con Microsoft Ajax 1.0 y Ajax Control Toolkit
Desarrollo de Aplicaciones con Microsoft Ajax 1.0 y Ajax Control Toolkit
 

Destacado

IBM Pureflex product brochure
IBM Pureflex product brochureIBM Pureflex product brochure
IBM Pureflex product brochure
Arrow ECS UK
 
Thyrogen final market research by parthi ppt
Thyrogen final market research by parthi  pptThyrogen final market research by parthi  ppt
Thyrogen final market research by parthi ppt
Kripa Shanker Gupta
 
Geopolítica del agua embotellada(NOTAS)
Geopolítica del agua embotellada(NOTAS)Geopolítica del agua embotellada(NOTAS)
Geopolítica del agua embotellada(NOTAS)
Ramón Copa
 
Los paisajes de Aragón
Los paisajes de AragónLos paisajes de Aragón
Los paisajes de Aragón
cprgraus
 
Propalms Centralized Computing Solution Document
Propalms Centralized Computing   Solution DocumentPropalms Centralized Computing   Solution Document
Propalms Centralized Computing Solution Document
Vijender Yadav
 

Destacado (20)

Primefaces
PrimefacesPrimefaces
Primefaces
 
IBM Pureflex product brochure
IBM Pureflex product brochureIBM Pureflex product brochure
IBM Pureflex product brochure
 
Domiolo 1995-2012
Domiolo 1995-2012Domiolo 1995-2012
Domiolo 1995-2012
 
Int'l dance festival 2012
Int'l dance festival 2012Int'l dance festival 2012
Int'l dance festival 2012
 
Thyrogen final market research by parthi ppt
Thyrogen final market research by parthi  pptThyrogen final market research by parthi  ppt
Thyrogen final market research by parthi ppt
 
Emgoldex TEAM HATAW
Emgoldex TEAM HATAWEmgoldex TEAM HATAW
Emgoldex TEAM HATAW
 
Open source spatial database for mobile devices
Open source spatial database for mobile devicesOpen source spatial database for mobile devices
Open source spatial database for mobile devices
 
D4 Contentintegration CONET
D4 Contentintegration CONETD4 Contentintegration CONET
D4 Contentintegration CONET
 
NFA Introduction
NFA IntroductionNFA Introduction
NFA Introduction
 
Sears Look Book
Sears Look BookSears Look Book
Sears Look Book
 
Geopolítica del agua embotellada(NOTAS)
Geopolítica del agua embotellada(NOTAS)Geopolítica del agua embotellada(NOTAS)
Geopolítica del agua embotellada(NOTAS)
 
05
0505
05
 
A cierta edad
A cierta edad A cierta edad
A cierta edad
 
Los paisajes de Aragón
Los paisajes de AragónLos paisajes de Aragón
Los paisajes de Aragón
 
Propalms Centralized Computing Solution Document
Propalms Centralized Computing   Solution DocumentPropalms Centralized Computing   Solution Document
Propalms Centralized Computing Solution Document
 
CIS14: Best Practices You Must Apply to Secure Your APIs
CIS14: Best Practices You Must Apply to Secure Your APIsCIS14: Best Practices You Must Apply to Secure Your APIs
CIS14: Best Practices You Must Apply to Secure Your APIs
 
Einführung des PIM-, MAM- und Content-Management-Systems bei Festool
Einführung des PIM-, MAM- und Content-Management-Systems bei FestoolEinführung des PIM-, MAM- und Content-Management-Systems bei Festool
Einführung des PIM-, MAM- und Content-Management-Systems bei Festool
 
Cto anatomia
Cto anatomiaCto anatomia
Cto anatomia
 
XIII informe de Derechos Humanos sobre la diversidad sexual 2014
XIII informe de Derechos Humanos sobre la diversidad sexual 2014XIII informe de Derechos Humanos sobre la diversidad sexual 2014
XIII informe de Derechos Humanos sobre la diversidad sexual 2014
 
Petikan ucapan
Petikan ucapanPetikan ucapan
Petikan ucapan
 

Similar a primefaces cortesia del portal de java

Introducción al desarrollo de aplicaciones web
Introducción al desarrollo de aplicaciones webIntroducción al desarrollo de aplicaciones web
Introducción al desarrollo de aplicaciones web
Anfap
 
Ejercicio de automatizacion IntelliJ+reporte.docx
Ejercicio de automatizacion IntelliJ+reporte.docxEjercicio de automatizacion IntelliJ+reporte.docx
Ejercicio de automatizacion IntelliJ+reporte.docx
ssuser2e6b96
 
Construccion a través de compontes
Construccion a través de compontesConstruccion a través de compontes
Construccion a través de compontes
jalzate
 

Similar a primefaces cortesia del portal de java (20)

Base de datos desde vb 6.0
Base de datos desde vb 6.0Base de datos desde vb 6.0
Base de datos desde vb 6.0
 
Servicio web soap en java con net beans
Servicio web soap en java con net beansServicio web soap en java con net beans
Servicio web soap en java con net beans
 
Introducción al desarrollo de aplicaciones web
Introducción al desarrollo de aplicaciones webIntroducción al desarrollo de aplicaciones web
Introducción al desarrollo de aplicaciones web
 
Taller integracion jsf spring
Taller integracion jsf springTaller integracion jsf spring
Taller integracion jsf spring
 
Jquery para principianes
Jquery para principianesJquery para principianes
Jquery para principianes
 
J M E R L I N P H P
J M E R L I N P H PJ M E R L I N P H P
J M E R L I N P H P
 
GUIA DE LABORATORIO PHONE GAP JQUERY MOBILE CARGADO DE_DATOS_DE_REGISTROS...
GUIA DE  LABORATORIO  PHONE GAP JQUERY  MOBILE  CARGADO DE_DATOS_DE_REGISTROS...GUIA DE  LABORATORIO  PHONE GAP JQUERY  MOBILE  CARGADO DE_DATOS_DE_REGISTROS...
GUIA DE LABORATORIO PHONE GAP JQUERY MOBILE CARGADO DE_DATOS_DE_REGISTROS...
 
Servicios web
Servicios webServicios web
Servicios web
 
Tutorial php mysql
Tutorial php mysqlTutorial php mysql
Tutorial php mysql
 
Configurando Ambiente de Desarrollo WEB en Eclipse Neón para Desarrolladores
Configurando Ambiente de Desarrollo WEB en Eclipse Neón para DesarrolladoresConfigurando Ambiente de Desarrollo WEB en Eclipse Neón para Desarrolladores
Configurando Ambiente de Desarrollo WEB en Eclipse Neón para Desarrolladores
 
Laboratorio desarrollo de aplicaciones WEB con GeneXus Tilo
Laboratorio desarrollo de aplicaciones WEB con GeneXus TiloLaboratorio desarrollo de aplicaciones WEB con GeneXus Tilo
Laboratorio desarrollo de aplicaciones WEB con GeneXus Tilo
 
Ejercicio de automatizacion IntelliJ+reporte.docx
Ejercicio de automatizacion IntelliJ+reporte.docxEjercicio de automatizacion IntelliJ+reporte.docx
Ejercicio de automatizacion IntelliJ+reporte.docx
 
Servicios web
Servicios webServicios web
Servicios web
 
Reportes
ReportesReportes
Reportes
 
Construccion a través de compontes
Construccion a través de compontesConstruccion a través de compontes
Construccion a través de compontes
 
Servlet Hola Mundo con Eclipse y Tomcat
Servlet Hola Mundo con Eclipse y TomcatServlet Hola Mundo con Eclipse y Tomcat
Servlet Hola Mundo con Eclipse y Tomcat
 
Manual de netbeans_7(2)(2)(2)
Manual de netbeans_7(2)(2)(2)Manual de netbeans_7(2)(2)(2)
Manual de netbeans_7(2)(2)(2)
 
bases de datos desde visual basic
bases de datos desde visual basicbases de datos desde visual basic
bases de datos desde visual basic
 
JBoss AS Installation -JBoss as jeap - Curso JBoss JB366 Día 2
JBoss AS Installation -JBoss as jeap - Curso JBoss JB366 Día 2 JBoss AS Installation -JBoss as jeap - Curso JBoss JB366 Día 2
JBoss AS Installation -JBoss as jeap - Curso JBoss JB366 Día 2
 
Todo Javascript para canibales
Todo Javascript para canibalesTodo Javascript para canibales
Todo Javascript para canibales
 

Último

Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
241521559
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
silviayucra2
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
FagnerLisboa3
 

Último (10)

guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 

primefaces cortesia del portal de java

  • 1. CURSO DE PROGRAMACION EN EL LENGUAJE JAVA 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 opción File y luego New Project. Elaborado por José Salvador Olivares http://portaldejava.com Página 1
  • 2. 2) Seleccionamos la opción Java Web y luego Web Application. 3) Asignamos un nombre a nuestro proyecto. Le pondremos Practica07 y lo almacenamos dentro de la carpeta c:ProyectosNetbeansAvanzado. Elaborado por José Salvador Olivares http://portaldejava.com Página 2
  • 3. 4) Seleccionamos Apache Tomcat como servidor web. Los demás parámetros no los modificamos. 5) Netbeans nos preguntará si utilizaremos alguno de los framework que trae por defecto. Seleccionamos Java Server Faces. Luego seleccionamos la viñeta Components. Elaborado por José Salvador Olivares http://portaldejava.com Página 3
  • 4. 6) Ahora seleccionamos la opción PrimeFaces. Finalmente damos un clic en Finish. 7) Netbeans nos crea el proyecto web y por defecto crea una página de prueba con el nombre index.xhtml. Además en la opción Libraries aparecen las librerías de PrimeFaces adicionadas a nuestro proyecto. Elaborado por José Salvador Olivares http://portaldejava.com Página 4
  • 5. 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 opción New y finalmente la opción Other. 9) Seleccionamos la opción Java Server Faces para crear nuestra primera pagina JSF utilizando PrimeFaces, luego seleccionamos JSF Page. Luego damos un clic en Next. Elaborado por José Salvador Olivares http://portaldejava.com Página 5
  • 6. 10) Ahora asignamos el nombre a nuestra página JSF. Le pondremos de nombre outputLabelJSF. Luego damos un clic en Finish para terminar. 11) Escribimos el código de nuestra página JSF. Tome nota de crear el espacio de nombre: xmlns:p=”http://primefaces.prime.com.tr/ui” en el encabezado de la página JSF si no le aparece. Elaborado por José Salvador Olivares http://portaldejava.com Página 6
  • 7. Código de la página: <?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 página creada y damos un clic derecho y seleccionamos la opción Run File. Elaborado por José Salvador Olivares http://portaldejava.com Página 7
  • 8. 13) Se abre el navegador y se carga la página creada. Sin llenar ningún campo damos un clic en Submit para verificar que se muestre los mensajes indicando que los campos son obligatorios. 14) Si digitamos información en los campos nombres y apellidos y damos un clic en Submit no se muestra los errores ya que los campos tienen información. Elaborado por José Salvador Olivares http://portaldejava.com Página 8
  • 9. 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 opción New y finalmente la opción Other. 16) Seleccionamos la opción Java Server Faces para crear nuestra segunda página JSF utilizando PrimeFaces, luego seleccionamos JSF Page. Luego damos un clic en Next. Elaborado por José Salvador Olivares http://portaldejava.com Página 9
  • 10. 17) Ahora asignamos el nombre a nuestra página JSF. Le pondremos de nombre validacionDatos. Luego damos un clic en Finish para terminar. 18) Escribimos el código de nuestra página JSF. Tome nota de crear el espacio de nombre: xmlns:p=”http://primefaces.prime.com.tr/ui” en el encabezado de la página JSF si no le aparece. Elaborado por José Salvador Olivares http://portaldejava.com Página 10
  • 11. Código 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> Elaborado por José Salvador Olivares http://portaldejava.com Página 11
  • 12. 19) Seleccionamos Source Packages y damos un clic derecho, luego seleccionamos Other. 20) Seleccionamos la opción Java Server Faces y luego JSF Managed Bean. Luego damos un clic en Next para continuar. Elaborado por José Salvador Olivares http://portaldejava.com Página 12
  • 13. 21) En Class Name asignamos el nombre BeanPersona. En package digitamos managed_beans para el nombre del paquete. En scope dejamos por defecto la opción Request. En la página 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 métodos get y set para implementar el encapsulamiento. Elaborado por José Salvador Olivares http://portaldejava.com Página 13
  • 14. 23) Ahora vamos a implementar la lógica de nuestro Managed Bean. En este paso ya debemos de haber implementado el encapsulamiento de nuestros atributos privados nombres y apellidos. Además agregamos el método guardarPersona con el código que se muestra. Código de la clase: package managed_beans; import javax.faces.application.FacesMessage; import javax.faces.bean.ManagedBean; Elaborado por José Salvador Olivares http://portaldejava.com Página 14
  • 15. 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); } } Elaborado por José Salvador Olivares http://portaldejava.com Página 15
  • 16. 24) Ahora seleccionamos la página JSF creada y damos un clic derecho y seleccionamos la opción Run File. 25) Se abre el navegador y se muestra la página JSF validarDatos.xhtml. Sin completar ningún campo damos un clic en el botón Guardar y se muestra los mensajes de error programados en la página. Elaborado por José Salvador Olivares http://portaldejava.com Página 16
  • 17. 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 están 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 opción New y finalmente la opción Other. Elaborado por José Salvador Olivares http://portaldejava.com Página 17
  • 18. 28) Seleccionamos la opción Java Server Faces para crear nuestra tercera página JSF utilizando PrimeFaces, luego seleccionamos JSF Page. Luego damos un clic en Next. 29) Ahora asignamos el nombre a nuestra página JSF. Le pondremos de nombre mascaraDatos. Luego damos un clic en Finish para terminar. Elaborado por José Salvador Olivares http://portaldejava.com Página 18
  • 19. 30) Escribimos el código de nuestra página JSF. Tome nota de crear el espacio de nombre: xmlns:p=”http://primefaces.prime.com.tr/ui” en el encabezado de la página JSF si no le aparece. Código de la página <?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: " /> Elaborado por José Salvador Olivares http://portaldejava.com Página 19
  • 20. <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. Elaborado por José Salvador Olivares http://portaldejava.com Página 20
  • 21. 32) Seleccionamos la opción 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 opción Request. En las paginas JSF utilizaremos como nombre del bean beanMascara.. Damos un clic en Finish para terminar. Elaborado por José Salvador Olivares http://portaldejava.com Página 21
  • 22. 34) Declaramos los atributos fechaNacimiento, telefonoDomicilio y noNit del tipo privado y luego creamos los métodos get y set para implementar el encapsulamiento. 35) Ahora vamos a implementar la lógica de nuestro Managed Bean. En este paso ya debemos de haber implementado el encapsulamiento de nuestros atributos privados fechaNacimiento, telefonoDomicilio y noNit. Además agregamos el método guardarDatos y limpiarDatos con el código que se muestra. Elaborado por José Salvador Olivares http://portaldejava.com Página 22
  • 23. Código 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; Elaborado por José Salvador Olivares http://portaldejava.com Página 23
  • 24. 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); } } Elaborado por José Salvador Olivares http://portaldejava.com Página 24
  • 25. 36) Seleccionamos la página JSF creada mascaraDatos y damos un clic derecho y seleccionamos la opción Run File. 37) Se abre el navegador y se carga la pagina mascaraDatos. Sin completar ningún campo damos un clic en el botón Guardar. Nos deberá de aparecer los errores que hemos programado cuando los campos están vacios. Elaborado por José Salvador Olivares http://portaldejava.com Página 25
  • 26. 38) Ahora completamos los campos Fecha de Nacimiento, Teléfono del Domicilio y Número de Nit. Luego damos un clic en el botón Guardar. Se muestra un mensaje indicando que se están Guardando los Datos. En esta página 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 opción New y finalmente la opción Other. Elaborado por José Salvador Olivares http://portaldejava.com Página 26
  • 27. 40) Seleccionamos la opción Java Server Faces para crear nuestra cuarta página JSF utilizando PrimeFaces, luego seleccionamos JSF Page. Luego damos un clic en Next. 41) Ahora asignamos el nombre a nuestra página JSF. Le pondremos de nombre mostrarCalendario. Luego damos un clic en Finish para terminar. Elaborado por José Salvador Olivares http://portaldejava.com Página 27
  • 28. 42) Escribimos el código de nuestra página JSF. Tome nota de crear el espacio de nombre: xmlns:p=”http://primefaces.prime.com.tr/ui” en el encabezado de la página JSF si no le aparece. Código de la página: <?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 Página 28
  • 29. </h:form> </h:body> </html> 43) Seleccionamos el paquete managed_beans y damos un clic derecho, seleccionamos New y luego seleccionamos Other. Elaborado por José Salvador Olivares http://portaldejava.com Página 29
  • 30. 44) Seleccionamos la opción 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 opción Request. En las paginas JSF utilizaremos como nombre del bean beanCalendario. Damos un clic en Finish para terminar. Elaborado por José Salvador Olivares http://portaldejava.com Página 30
  • 31. 46) Declaramos el atributo fechaCalendario con alcance privado y luego creamos los métodos get y set para implementar el encapsulamiento. Elaborado por José Salvador Olivares http://portaldejava.com Página 31
  • 32. 47) Ahora vamos a implementar la lógica de nuestro Managed Bean. En este paso ya debemos de haber implementado el encapsulamiento de nuestro atributo privado fechaCalendario. Además agregamos el método guardarDatos y limpiarDatos con el código que se muestra. Elaborado por José Salvador Olivares http://portaldejava.com Página 32
  • 33. 48) Seleccionamos la página JSF mostrarCalendario y damos un clic derecho y seleccionamos la opción Run File. 49) Se abre el navegador y se carga la pagina mostrarCalendario. Sin completar el campo damos un clic en el botón Guardar. Nos deberá de aparecer los errores que hemos programado cuando los campos están vacios. Elaborado por José Salvador Olivares http://portaldejava.com Página 33
  • 34. 50) Ahora seleccionamos la Fecha de Registro. Luego damos un clic en el botón Guardar. 51) Después de dar clic al botón Guardar se muestra un mensaje indicando que se están Guardando los Datos. Elaborado por José Salvador Olivares http://portaldejava.com Página 34
  • 35. 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 opción New y finalmente la opción Other. 53) Seleccionamos la opción Java Server Faces para crear nuestra quinta página JSF utilizando PrimeFaces, luego seleccionamos JSF Page. Luego damos un clic en Next. Elaborado por José Salvador Olivares http://portaldejava.com Página 35
  • 36. 54) Ahora asignamos el nombre a nuestra página JSF. Le pondremos de nombre registroContribuyentes. Luego damos un clic en Finish para terminar. 55) Escribimos el código de nuestra página JSF. Tome nota de crear el espacio de nombre: xmlns:p=”http://primefaces.prime.com.tr/ui” en el encabezado de la página JSF si no le aparece. Elaborado por José Salvador Olivares http://portaldejava.com Página 36
  • 37. Código de la página <?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="9999- 999999-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 Página 37
  • 38. <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> Elaborado por José Salvador Olivares http://portaldejava.com Página 38
  • 39. 56) Seleccionamos el paquete managed_beans y damos un clic derecho, seleccionamos New y luego seleccionamos Other. 57) Seleccionamos la opción Java Server Faces y luego JSF Managed Bean. Luego damos un clic en Next para continuar. Elaborado por José Salvador Olivares http://portaldejava.com Página 39
  • 40. 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 opción 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 métodos get y set para implementar el encapsulamiento. Elaborado por José Salvador Olivares http://portaldejava.com Página 40
  • 41. 60) Ahora vamos a implementar la lógica 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. Además agregamos el método guardarContribuyente y limpiarContribuyente con el código que se muestra. Elaborado por José Salvador Olivares http://portaldejava.com Página 41
  • 42. Código 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 Página 42
  • 43. * @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 Página 43
  • 44. } 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); } } Elaborado por José Salvador Olivares http://portaldejava.com Página 44
  • 45. 61) Seleccionamos la página JSF registroContribuyentes y damos un clic derecho y seleccionamos la opción Run File. 62) Se abre el navegador y se carga la pagina registroContribuyentes. Sin completar los campos damos un clic en el botón Guardar. Nos deberá de aparecer los errores que hemos programado cuando los campos están vacios. Elaborado por José Salvador Olivares http://portaldejava.com Página 45
  • 46. 63) El formulario muestra los mensajes de error indicando que los campos no se han completado. Elaborado por José Salvador Olivares http://portaldejava.com Página 46
  • 47. 64) Completamos los campos y luego damos un clic en Guardar. Se debe de mostrar un mensaje indicando que se están Guardando los Datos. Tome nota que el botón Limpiar sirve para inicializar los campos. Elaborado por José Salvador Olivares http://portaldejava.com Página 47