Páginas

29/10/14

Primera aplicacion con Primefaces 5.0, JSF 2.1, JBoss Developer Studio o Eclipse y JBoss 7

Tutorial Primefaces 5.0, JSF 2.1, JBoss 7
Primefaces Dato Java

Primera aplicación en Java con JSF 2.1, Primefaces 5.0, JBoss Developer Studio y JBoss 7 Tutorial.

Primefaces es una Liberia de componentes potentes para JSF, tiene componentes interesantes y fáciles de usar, lo mejor de todo es que no tienes que configurar prácticamente nada para poderla usar, nada de dependencias ni nada de eso, solo importar el .jar a tu proyecto hacer unos cuantos ajustes y listo. Este tutorial es para crear nuestra primera aplicación con esta librería. Por ahora solo mostraremos un menú y un texto de salida para probar que la aplicación funciona. Recuerda que al final del tutorial esta el proyecto completo para que lo descargues si tienes alguna duda. Primero creamos el proyecto en la opción "Dynamic Web Project", le pondremos de nombre PrimefacesDatoJava, Asi quedara nuestro proyecto dinámico.
Primefaces DatoJava
PrimefacesDatoJava

Una vez creado nuestro proyecto dinámico vamos a crear la pagina de bienvenida, esta página de bienvenida será .xhtml, que es básicamente html expresado como xml valido. Para crearlo procedemos hacerlo en el directorio WebContent en el cual vamos a crear un nuevo archivo html, en el wizard le cambiamos el nombre por index.xhtml y presionamos el botón de "next" y elegimos la opción xhtml 1.0 strict y el botón de finish.
xhtml 1.0 strict
xhtml 1.0 strict

Una vez creado el archivo index.xhtml vamos a crear la configuración del JSF en el archivo web.xml, es una configuración básica de JSF, este es el código para la configuración:

web.xml
    
<?xml version="1.0" encoding="UTF-8"?>

 
  /index.xhtml
 
 
  Faces Servlet
  javax.faces.webapp.FacesServlet
  1
 
 
  Faces Servlet
  /faces/*
 
 
  Faces Servlet
  *.jsf
 
 
  Faces Servlet
  *.faces
 
 
  Faces Servlet
  *.xhtml
 
 
  javax.faces.PROJECT_STAGE
  Development
 
 
  com.sun.faces.config.ConfigureListener
 

    

Ahora vamos a importar nuestra librería de Primefaces, si no la tienes puedes descargarla aqui. Una vez descargada vamos a nuestro proyecto y en las propiedades del mismo agregamos la librería y presionamos el botón "Ok".
Java Build Path
Java Build Path

Una vez hecho eso vamos de nuevo a las propiedades de nuestro proyecto y en la opción Deployment Assembly
Deployment Assembly
Deployment Assembly

Presionamos el botón "add" y seleccionamos la opción de Java Build Path Entries y presionamos el botón "next", seleccionamos la librería Primefaces y presionamos el botón "Finish" y listo
Deployment Assembly 1
Deployment Assembly

Después de eso en las mismas propiedades vamos a la opción Project Facets y marcamos la opción Java Server Faces 2.1, presionamos el boton "Ok" y terminamos.
Project Facets
Project Facets

Ok ahora que ya tenemos todo configurado como es vamos a ver el código de nuestra página index.xhtml, aquí en el código agregamos el tag de Primefaces y JSF para hacer una muestra de Primefaces con un pequeño menú.

index.xhtml
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
 xmlns:f="http://java.sun.com/jsf/core"
 xmlns:h="http://java.sun.com/jsf/html"
 xmlns:p="http://primefaces.org/ui">

 
  datojava.blogspot.com
 
 
  
   
   
   
   
    
     
     
    
   
  
 

</html>
    

Después de guardar el proyecto compilarlo y correrlo en Jboss 7 la salida del mismo es así...
PrimefacesDatoJava App
PrimefacesDatoJava App

Como vemos este ejemplo sencillo ya nos permite utilizar Primefaces, es una librería poderosa para aplicaciones muy amigables, próximamente estaré haciendo ejemplos con sus componentes así que pendiente, recuerda que aqui esta el ejemplo del dato java para la descarga, no olvides practicar lo que quieres aprender, si no practicas no aprenderás :)


Temas Relacionados:

10 comentarios :

  1. Esta entrada debería tener un titulo algo así como 'Configuración de un proyecto con Prime Faces' esta bueno.

    ResponderEliminar
    Respuestas
    1. Hola, que bueno que te gusto la entrada, gracias por la sugerencia.

      Suerte!!

      Eliminar
  2. Por fin algo sencillo y que funcione bien!

    ResponderEliminar
  3. Hola, tengo un problema con jboss al agregarle la libreria de primefaces 5.0 al proyecto, aunque en el jsf ni la utilizo le doy a compilar y me sale un error y luego el proyecto nunca más vuelve a compilar... el error dice algo así : Undeploying ...
    JBAS016154: Operación undeploy iniciada
    JBAS016155: Operación undeploy completada
    Distributing C:\Users\michel.zamora\Documents\NetBeansProjects\sicobita\dist\sicobita.ear to [org.jboss.as.ee.deployment.spi.DeploymentManagerTarget@1dfec7b]
    Deploying C:\Users\michel.zamora\Documents\NetBeansProjects\sicobita\dist\sicobita.ear
    {"JBAS014671: Servicios fallidos" => {"jboss.deployment.unit.\"sicobita.ear\".STRUCTURE" => "org.jboss.msc.service.StartException in service jboss.deployment.unit.\"sicobita.ear\".STRUCTURE: JBAS018733: Error al procesar la fase STRUCTURE de deployment \"sicobita.ear\"
    Caused by: org.jboss.as.server.deployment.DeploymentUnitProcessingException: JBAS011060: No logró procesar los hijos para EAR [\"/D:/Desarrollo/jboss-eap-6.1/bin/content/sicobita.ear\"]
    Caused by: java.util.zip.ZipException: zip file is empty"}}
    C:\Users\michel.zamora\Documents\NetBeansProjects\sicobita\nbproject\build-impl.xml:307: The module has not been deployed.
    See the server log for details.
    BUILD FAILED (total time: 2 seconds)


    podrias ayudarme porfavor, he intentado de todo y aún no puedo usar primefaces :(

    ResponderEliminar
  4. Hola buenas Tardes, no logro que se muestre la página, me aparece el error 404.

    ResponderEliminar
    Respuestas
    1. Hola, lo más seguro es que te estés saltando algún paso del tutorial, acabo de hacer la prueba y el ejemplo funciona bien!

      Suerte!!

      Eliminar
    2. el form tiene algun error de minusculas,













      Eliminar