SlideShare une entreprise Scribd logo
1  sur  21
Télécharger pour lire hors ligne
Primefaces	
  
Diego	
  Armando	
  Gómez	
  M	
  
dgomez@vortexbird.com	
  
	
  
Introducción	
  
•  Primefaces	
  es	
  una	
  implementación	
  de	
  JSF	
  de	
  
código	
  libre.	
  
•  En	
  el	
  2015	
  es	
  la	
  implementación	
  de	
  JSF	
  mas	
  
popular.	
  
•  Soporta	
  AJAX	
  basado	
  en	
  la	
  especificación	
  
JSF2.0	
  
•  Fácil	
  de	
  configurar.	
  
•  Cuenta	
  con	
  Mobil	
  UI	
  Kit	
  
Configuración	
  
•  Solo	
  se	
  debe	
  descargar	
  el	
  jar	
  de	
  primefaces	
  
•  primefaces-­‐{version}.jar	
  
Maven	
  
<dependency>	
  
	
  	
  	
  	
  	
  	
  	
  <groupId>org.primefaces</groupId>	
  
	
  	
  	
  	
  	
  	
  	
  <ar6factId>primefaces</ar6factId>	
  
	
  	
  	
  	
  	
  	
  	
  <version>5.1</version>	
  
</dependency>	
  
Gradle	
  
'org.primefaces:primefaces:5.0'	
  
Dependencias	
  
Dependencia	
   Versión* 	
   Tipo	
   Descripción	
  
JSF	
  runLme	
   2.0,	
  2.1	
  or	
  2.2	
   Required	
   Apache	
  MyFaces	
  or	
  Oracle	
  Mojarra	
  
itext	
   2.1.7	
   OpLonal	
   DataExporter	
  (PDF)	
  
apache	
  poi	
   3.7	
   OpLonal	
   DataExporter	
  (Excel)	
  
rome	
   1.0	
   OpLonal	
   FeedReader	
  
commons-­‐fileupload	
   1.3	
   OpLonal	
   FileUpload	
  
commons-­‐io	
   2.2	
   OpLonal	
   FileUpload	
  
atmosphere	
   2.2.2	
   OpLonal	
   PrimeFaces	
  Push	
  
barcode4j-­‐light	
   2.1	
   OpLonal	
   Barcode	
  
qrgen	
   1.4	
   OpLonal	
   QR	
  Code	
  support	
  for	
  Barcode	
  
RunAme	
  
•  Especificaciones	
  
•  JSF	
  2.0	
  
•  JSF	
  2.1	
  
•  JSF	
  2.2	
  
Pagina	
  xhtml	
  
<html	
  xmlns="hCp://www.w3.org/1999/xhtml"	
  
	
  xmlns:h="hCp://java.sun.com/jsf/html"	
  
	
  xmlns:f="hCp://java.sun.com/jsf/core"	
  
	
  xmlns:p="hCp://primefaces.org/ui">	
  
	
  
	
  <h:head>	
  
	
  
	
  </h:head>	
  
	
  	
  
	
  <h:body>	
  
	
  	
  
	
   	
  <p:spinner	
  />	
  
	
   	
  	
  
	
  </h:body>	
  
</html>	
  
Configuración	
  de	
  tema	
  visual	
  
<context-­‐param>	
  	
  
	
  <param-­‐name>primefaces.THEME</param-­‐name>	
  
	
  <param-­‐value>bootstrap</param-­‐value>	
  
</context-­‐param>	
  	
  
Configuración	
  web.xml	
  
<?xml	
  version="1.0"	
  encoding="UTF-­‐8"?>	
  
<web-­‐app	
  version="3.0"	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  xmlns="hCp://java.sun.com/xml/ns/javaee"	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  xmlns:xsi=hCp://www.w3.org/2001/XMLSchema-­‐instance	
  	
  xsi:schemaLoca6on="hCp://java.sun.com/xml/ns/javaee	
  hCp://java.sun.com/xml/
ns/javaee/web-­‐app_3_0.xsd"	
  >	
  
	
  	
  	
  	
  	
  
	
  	
  	
  	
  <servlet>	
  
	
  	
  	
  	
  	
  	
  	
  	
  <servlet-­‐name>Faces	
  Servlet</servlet-­‐name>	
  
	
  	
  	
  	
  	
  	
  	
  	
  <servlet-­‐class>javax.faces.webapp.FacesServlet</servlet-­‐class>	
  
	
  	
  	
  	
  </servlet>	
  
	
  
	
  	
  	
  	
  <servlet-­‐mapping>	
  
	
  	
  	
  	
  	
  	
  	
  	
  <servlet-­‐name>Faces	
  Servlet</servlet-­‐name>	
  
	
  	
  	
  	
  	
  	
  	
  	
  <url-­‐paCern>*.jsf</url-­‐paCern>	
  
	
  	
  	
  	
  </servlet-­‐mapping>	
  
	
  
	
  	
  	
  	
  <servlet-­‐mapping>	
  
	
  	
  	
  	
  	
  	
  	
  	
  <servlet-­‐name>Faces	
  Servlet</servlet-­‐name>	
  
	
  	
  	
  	
  	
  	
  	
  	
  <url-­‐paCern>*.xhtml</url-­‐paCern>	
  
	
  	
  	
  	
  </servlet-­‐mapping>	
  
	
  
	
  	
  	
  	
  <context-­‐param>	
  	
  	
  
	
  	
  	
  	
   	
  <param-­‐name>primefaces.THEME</param-­‐name>	
  	
  	
  
	
  	
  	
  	
   	
  <param-­‐value>bootstrap</param-­‐value>	
  	
  	
  
	
  	
  	
  </context-­‐param>	
  
	
  
</web-­‐app>	
  
Procesamiento	
  y	
  Renderizado	
  parcial	
  
•  PPR	
  (ParLal	
  Page	
  Rendering)	
  
•  aaributes	
  (update,	
  process,	
  onstart,	
  
oncomplete).	
  
<h:form>	
  
	
  	
  	
  	
  	
  	
  	
  <p:commandBuaon	
  update="display"	
  />	
  
	
  	
  	
  	
  	
  	
  	
  <h:outputText	
  id="display"	
  value="#{bean.value}"/>	
  
</h:form>	
  
Procesamiento	
  y	
  Renderizado	
  parcial	
  
•  ClientId	
  
•  Es	
  posible	
  definir	
  el	
  ClientId	
  del	
  componente	
  
que	
  se	
  desea	
  actualizar.	
  
<h:form	
  id="myform">	
  	
  
	
  <p:commandBuaon	
  update="myform:display"	
  />	
  
	
  <h:outputText	
  id="display"	
  value="#{bean.value}"/>	
  	
  
</h:form>	
  	
  
Procesamiento	
  y	
  Renderizado	
  parcial	
  
•  Actualizar	
  Componentes	
  en	
  diferentes	
  
contenedores	
  
<h:form	
  id="form1">	
  
	
  	
  	
  	
  	
  	
  	
  <p:commandBuaon	
  update=":form2:display"	
  />	
  
</h:form>	
  
<h:form	
  id="form2">	
  
	
  	
  	
  	
  	
  	
  	
  <h:outputText	
  id="display"	
  value="#{bean.value}"/>	
  
</h:form>	
  
Procesamiento	
  y	
  Renderizado	
  parcial	
  
•  Actualizar	
  múlLples	
  componentes	
  
<h:form>	
  	
  
	
  <p:commandBuaon	
  update="display1,display2"	
  />	
  
	
  <p:commandBuaon	
  update="display1	
  display2"	
  />	
  
	
  <h:outputText	
  id="display1"	
  value="#{bean.value1}"/>	
  
	
  <h:outputText	
  id="display2"	
  value="#{bean.value2}"/>	
  	
  
</h:form>	
  	
  
NoAficando	
  usuarios	
  
•  Primefaces	
  cuenta	
  con	
  ajaxStatus	
  el	
  cual	
  noLfica	
  a	
  los	
  
usuarios	
  sobre	
  las	
  peLciones	
  ajax.	
  
•  Global	
  vs	
  Non-­‐Global	
  
•  Por	
  defecto	
  todas	
  las	
  peLciones	
  son	
  globales	
  si	
  se	
  quiere	
  
hacer	
  una	
  peLción	
  en	
  silencio	
  se	
  puede	
  apagar.	
  
<p:commandBuaon	
  value="Silent"	
  global="false"	
  />	
  
	
  
<p:commandBuaon	
  value="NoLfy"	
  global="true"	
  />	
  
<p:ajaxStatus	
  onstart="PF('statusDialog').show()"	
  
onsuccess="PF('statusDialog').hide()"	
  />	
  
	
  	
  
<p:dialog	
  widgetVar="statusDialog"	
  modal="true"	
  draggable="false"	
  closable="false"	
  
resizable="false"	
  showHeader="false">	
  
	
  	
  	
  	
  <p:graphicImage	
  name="/demo/images/ajaxloadingbar.gif"	
  />	
  
</p:dialog>	
  
ParAal	
  Processing	
  
•  Update	
  es	
  similar	
  a	
  render	
  en	
  JSF	
  2.X	
  
•  Process	
  es	
  similar	
  a	
  execute	
  en	
  JSF	
  2.X	
  
•  El	
  update	
  se	
  usa	
  para	
  decir	
  a	
  primefaces	
  que	
  
componentes	
  de	
  la	
  pantalla	
  deben	
  ser	
  
actualizados.	
  
•  El	
  process	
  se	
  usa	
  para	
  decir	
  a	
  primefaces	
  que	
  
debe	
  ejecutar	
  cuando	
  se	
  ejecuta	
  un	
  
componente.	
  
ParAal	
  Processing	
  
<h:form	
  id="form1">	
  
	
  	
  	
  	
  	
  	
  	
  <p:commandBuaon	
  id="btn"	
  update="form1"	
  process="btn"	
  />	
  
	
  	
  	
  	
  	
  	
  	
  <h:outputText	
  value="#{bean.value}"/>	
  
</h:form>	
  
<h:form	
  id="form1">	
  
	
  	
  	
  	
  	
  	
  	
  <p:commandBuaon	
  id="btn"	
  update="@form"	
  process="@this"	
  />	
  
	
  	
  	
  	
  	
  	
  	
  <h:outputText	
  value="#{bean.value}"/>	
  
</h:form>	
  
ParAal	
  Processing	
  
Keyword	
   Type	
   DescripAon	
  	
  
@this Standard Current component
@all Standard Whole view
@form Standard Closest ancestor form of current component
@none Standard No component
PrimeFaces	
  Selectors	
  (PFS)	
  
•  El	
  api	
  de	
  PFS	
  es	
  similar	
  a	
  el	
  api	
  de	
  jQuery	
  
selector	
  pero	
  implementada	
  para	
  JSF.	
  
•  Es	
  muy	
  potente	
  y	
  simple	
  a	
  las	
  vez.	
  
•  Los	
  desarrolladores	
  que	
  estén	
  acostumbrados	
  
a	
  jQuery	
  la	
  encuentran	
  muy	
  úLl.	
  
PrimeFaces	
  Selectors	
  (PFS)	
  
•  Actualizar	
  todos	
  los	
  form	
  	
  de	
  una	
  pantalla	
  
–  update="@(form)”	
  
•  Actualizar	
  el	
  form	
  de	
  nombre	
  first	
  
–  update="@(form:first)"	
  	
  
•  Actualizar	
  todos	
  los	
  componentes	
  cuya	
  styleClass	
  sea	
  
miEsLlo	
  
–  update="@(.miEsLlo)”	
  
•  	
  Actualizar	
  todos	
  los	
  dataTable	
  
–  update="@(.ui-­‐datatable)”	
  	
  
Themes	
  
•  hap://www.primefaces.org/themes	
  
Enlaces	
  
•  hap://www.primefaces.org	
  
Primefaces

Contenu connexe

Tendances

Presentación de zan php
Presentación de zan phpPresentación de zan php
Presentación de zan phpCarlos Zantana
 
Asp .net
Asp .netAsp .net
Asp .netmellcv
 
Introducción a Laravel 5 - Un Framework para Artesanos Web
Introducción a Laravel 5 - Un Framework para Artesanos WebIntroducción a Laravel 5 - Un Framework para Artesanos Web
Introducción a Laravel 5 - Un Framework para Artesanos WebFacundo E. Goñi Perez
 
PowerShell para administradores
PowerShell para administradoresPowerShell para administradores
PowerShell para administradoresPablo Campos
 
Javaserver Faces (jsf)
Javaserver Faces (jsf)Javaserver Faces (jsf)
Javaserver Faces (jsf)Enrique Polo
 
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 2012SolidQ
 
Presentacion sobre asp
Presentacion sobre aspPresentacion sobre asp
Presentacion sobre aspkarenReyes152
 
Symfony en Drupal 8 - DrupalCamp Spain
Symfony en Drupal 8 - DrupalCamp Spain Symfony en Drupal 8 - DrupalCamp Spain
Symfony en Drupal 8 - DrupalCamp Spain Raul Fraile
 
Desarrollando Una Mejor Experiencia De Usuario Con Ajax
Desarrollando Una Mejor Experiencia De Usuario Con AjaxDesarrollando Una Mejor Experiencia De Usuario Con Ajax
Desarrollando Una Mejor Experiencia De Usuario Con Ajaxjuliocasal
 
STRUTS (MVC e Java)
STRUTS (MVC e Java)STRUTS (MVC e Java)
STRUTS (MVC e Java)ousli07
 

Tendances (20)

Como hacer de todo con PowerShell
Como hacer de todo con PowerShellComo hacer de todo con PowerShell
Como hacer de todo con PowerShell
 
Presentación de zan php
Presentación de zan phpPresentación de zan php
Presentación de zan php
 
Asp .net
Asp .netAsp .net
Asp .net
 
Introducción a Laravel 5 - Un Framework para Artesanos Web
Introducción a Laravel 5 - Un Framework para Artesanos WebIntroducción a Laravel 5 - Un Framework para Artesanos Web
Introducción a Laravel 5 - Un Framework para Artesanos Web
 
PowerShell para administradores
PowerShell para administradoresPowerShell para administradores
PowerShell para administradores
 
Intro a cakephp
Intro a cakephpIntro a cakephp
Intro a cakephp
 
Asp
AspAsp
Asp
 
Javaserver Faces (jsf)
Javaserver Faces (jsf)Javaserver Faces (jsf)
Javaserver Faces (jsf)
 
CRUD básico con Symfony
CRUD básico con SymfonyCRUD básico con Symfony
CRUD básico con Symfony
 
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
 
Presentacion sobre asp
Presentacion sobre aspPresentacion sobre asp
Presentacion sobre asp
 
Herramientas Java
Herramientas JavaHerramientas Java
Herramientas Java
 
Symfony en Drupal 8 - DrupalCamp Spain
Symfony en Drupal 8 - DrupalCamp Spain Symfony en Drupal 8 - DrupalCamp Spain
Symfony en Drupal 8 - DrupalCamp Spain
 
Asp.net
Asp.netAsp.net
Asp.net
 
P1C1 - Java Server Faces 2.0
P1C1 - Java Server Faces 2.0P1C1 - Java Server Faces 2.0
P1C1 - Java Server Faces 2.0
 
9.laravel
9.laravel9.laravel
9.laravel
 
Rails intro
Rails introRails intro
Rails intro
 
Desarrollando Una Mejor Experiencia De Usuario Con Ajax
Desarrollando Una Mejor Experiencia De Usuario Con AjaxDesarrollando Una Mejor Experiencia De Usuario Con Ajax
Desarrollando Una Mejor Experiencia De Usuario Con Ajax
 
STRUTS (MVC e Java)
STRUTS (MVC e Java)STRUTS (MVC e Java)
STRUTS (MVC e Java)
 
Webutil
WebutilWebutil
Webutil
 

Similaire à Primefaces

SEMINARIO: Servicios REST. Bases de la tecnología y soporte con Spring MVC
SEMINARIO: Servicios REST. Bases de la tecnología y soporte con Spring MVCSEMINARIO: Servicios REST. Bases de la tecnología y soporte con Spring MVC
SEMINARIO: Servicios REST. Bases de la tecnología y soporte con Spring MVCParadigma Digital
 
Taller integracion jsf spring
Taller integracion jsf springTaller integracion jsf spring
Taller integracion jsf springIBM
 
Jsf Java Server Faces
Jsf   Java Server FacesJsf   Java Server Faces
Jsf Java Server Facescok12v
 
PHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdf
PHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdfPHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdf
PHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdfRaaulroodriguez
 
15a. Reunion de SpringHispano.org y grails.org.mx
15a. Reunion de SpringHispano.org y grails.org.mx15a. Reunion de SpringHispano.org y grails.org.mx
15a. Reunion de SpringHispano.org y grails.org.mxJose Juan R. Zuñiga
 
Dce2 introduccion asp.net primeras 20
Dce2 introduccion asp.net primeras 20Dce2 introduccion asp.net primeras 20
Dce2 introduccion asp.net primeras 20Marvin Romero
 
Apache click
Apache clickApache click
Apache clickntomasto
 
Web Performance para Magento
Web Performance para MagentoWeb Performance para Magento
Web Performance para MagentoJordi Rosell
 
Etiquetas básicas jsf
Etiquetas básicas jsfEtiquetas básicas jsf
Etiquetas básicas jsflauritat_9
 
Development Odoo Basic
Development Odoo BasicDevelopment Odoo Basic
Development Odoo BasicMario IC
 
Migrating to ICEfaces 2 (Spanish)
Migrating to ICEfaces 2 (Spanish)Migrating to ICEfaces 2 (Spanish)
Migrating to ICEfaces 2 (Spanish)mimacom Ibérica
 
J Headstart, EvolucióN De Forms A Adf
J Headstart, EvolucióN De Forms A AdfJ Headstart, EvolucióN De Forms A Adf
J Headstart, EvolucióN De Forms A AdfPedro Gallardo
 
Magento 2 Módulo Low Stock Notifier
Magento 2 Módulo Low Stock NotifierMagento 2 Módulo Low Stock Notifier
Magento 2 Módulo Low Stock Notifiergalan83
 

Similaire à Primefaces (20)

SEMINARIO: Servicios REST. Bases de la tecnología y soporte con Spring MVC
SEMINARIO: Servicios REST. Bases de la tecnología y soporte con Spring MVCSEMINARIO: Servicios REST. Bases de la tecnología y soporte con Spring MVC
SEMINARIO: Servicios REST. Bases de la tecnología y soporte con Spring MVC
 
Taller integracion jsf spring
Taller integracion jsf springTaller integracion jsf spring
Taller integracion jsf spring
 
Jsf Java Server Faces
Jsf   Java Server FacesJsf   Java Server Faces
Jsf Java Server Faces
 
PHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdf
PHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdfPHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdf
PHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdf
 
06. jsf (java server faces) (1)
06. jsf (java server faces) (1)06. jsf (java server faces) (1)
06. jsf (java server faces) (1)
 
15a. Reunion de SpringHispano.org y grails.org.mx
15a. Reunion de SpringHispano.org y grails.org.mx15a. Reunion de SpringHispano.org y grails.org.mx
15a. Reunion de SpringHispano.org y grails.org.mx
 
Introducción a Flask
Introducción a FlaskIntroducción a Flask
Introducción a Flask
 
Dce2 introduccion asp.net primeras 20
Dce2 introduccion asp.net primeras 20Dce2 introduccion asp.net primeras 20
Dce2 introduccion asp.net primeras 20
 
Apache click
Apache clickApache click
Apache click
 
Web Performance para Magento
Web Performance para MagentoWeb Performance para Magento
Web Performance para Magento
 
Html5
Html5Html5
Html5
 
Perfiles en maven
Perfiles en mavenPerfiles en maven
Perfiles en maven
 
Etiquetas básicas jsf
Etiquetas básicas jsfEtiquetas básicas jsf
Etiquetas básicas jsf
 
JqueryMobile
JqueryMobile JqueryMobile
JqueryMobile
 
Development Odoo Basic
Development Odoo BasicDevelopment Odoo Basic
Development Odoo Basic
 
De HTML a Express
De HTML a ExpressDe HTML a Express
De HTML a Express
 
Migrating to ICEfaces 2 (Spanish)
Migrating to ICEfaces 2 (Spanish)Migrating to ICEfaces 2 (Spanish)
Migrating to ICEfaces 2 (Spanish)
 
J Headstart, EvolucióN De Forms A Adf
J Headstart, EvolucióN De Forms A AdfJ Headstart, EvolucióN De Forms A Adf
J Headstart, EvolucióN De Forms A Adf
 
Magento 2 Módulo Low Stock Notifier
Magento 2 Módulo Low Stock NotifierMagento 2 Módulo Low Stock Notifier
Magento 2 Módulo Low Stock Notifier
 
Gwt II - trabajando con gwt
Gwt II - trabajando con gwtGwt II - trabajando con gwt
Gwt II - trabajando con gwt
 

Plus de Vortexbird

Spring security 2017
Spring security 2017Spring security 2017
Spring security 2017Vortexbird
 
Spring ORM JPA
Spring ORM JPASpring ORM JPA
Spring ORM JPAVortexbird
 
Spring framework core 2017
Spring framework core 2017Spring framework core 2017
Spring framework core 2017Vortexbird
 
Bean validation 2017
Bean validation 2017Bean validation 2017
Bean validation 2017Vortexbird
 
Introduccion a JPA
Introduccion a JPAIntroduccion a JPA
Introduccion a JPAVortexbird
 
Servicios Rest con Jersey
Servicios Rest con Jersey Servicios Rest con Jersey
Servicios Rest con Jersey Vortexbird
 
Vb.pd.zathuracode.v5.0.1
Vb.pd.zathuracode.v5.0.1Vb.pd.zathuracode.v5.0.1
Vb.pd.zathuracode.v5.0.1Vortexbird
 
Zathuracode Version 5.0.0
Zathuracode Version 5.0.0Zathuracode Version 5.0.0
Zathuracode Version 5.0.0Vortexbird
 
Web services SOAP con JAX-WS
Web services SOAP con JAX-WSWeb services SOAP con JAX-WS
Web services SOAP con JAX-WSVortexbird
 
Web services restful con JAX-RS
Web services restful con JAX-RSWeb services restful con JAX-RS
Web services restful con JAX-RSVortexbird
 
Orm hibernate springframework
Orm hibernate springframeworkOrm hibernate springframework
Orm hibernate springframeworkVortexbird
 
Introducccion springframework
Introducccion springframeworkIntroducccion springframework
Introducccion springframeworkVortexbird
 

Plus de Vortexbird (12)

Spring security 2017
Spring security 2017Spring security 2017
Spring security 2017
 
Spring ORM JPA
Spring ORM JPASpring ORM JPA
Spring ORM JPA
 
Spring framework core 2017
Spring framework core 2017Spring framework core 2017
Spring framework core 2017
 
Bean validation 2017
Bean validation 2017Bean validation 2017
Bean validation 2017
 
Introduccion a JPA
Introduccion a JPAIntroduccion a JPA
Introduccion a JPA
 
Servicios Rest con Jersey
Servicios Rest con Jersey Servicios Rest con Jersey
Servicios Rest con Jersey
 
Vb.pd.zathuracode.v5.0.1
Vb.pd.zathuracode.v5.0.1Vb.pd.zathuracode.v5.0.1
Vb.pd.zathuracode.v5.0.1
 
Zathuracode Version 5.0.0
Zathuracode Version 5.0.0Zathuracode Version 5.0.0
Zathuracode Version 5.0.0
 
Web services SOAP con JAX-WS
Web services SOAP con JAX-WSWeb services SOAP con JAX-WS
Web services SOAP con JAX-WS
 
Web services restful con JAX-RS
Web services restful con JAX-RSWeb services restful con JAX-RS
Web services restful con JAX-RS
 
Orm hibernate springframework
Orm hibernate springframeworkOrm hibernate springframework
Orm hibernate springframework
 
Introducccion springframework
Introducccion springframeworkIntroducccion springframework
Introducccion springframework
 

Dernier

TECNOLOGÍA DE LA INFORMACIÓN SLIDESHARE INVESTIGACION.pdf
TECNOLOGÍA DE LA INFORMACIÓN SLIDESHARE INVESTIGACION.pdfTECNOLOGÍA DE LA INFORMACIÓN SLIDESHARE INVESTIGACION.pdf
TECNOLOGÍA DE LA INFORMACIÓN SLIDESHARE INVESTIGACION.pdfUPSE
 
Tipos de datos en Microsoft Access definiciones.pdf
Tipos de datos en Microsoft Access definiciones.pdfTipos de datos en Microsoft Access definiciones.pdf
Tipos de datos en Microsoft Access definiciones.pdfCarlosSanchez452245
 
contabilidad para la inflacion, contabilidad superior
contabilidad para la inflacion, contabilidad superiorcontabilidad para la inflacion, contabilidad superior
contabilidad para la inflacion, contabilidad superiorDalia Rodriguez
 
serenidad APP presentacion.pdfes una innovadora aplicación móvil diseñada par...
serenidad APP presentacion.pdfes una innovadora aplicación móvil diseñada par...serenidad APP presentacion.pdfes una innovadora aplicación móvil diseñada par...
serenidad APP presentacion.pdfes una innovadora aplicación móvil diseñada par...juanforero141
 
TECNOLOGIA DE LA INFORMACION Y MULTIMEDIA 15 MAYO.pptx
TECNOLOGIA DE LA INFORMACION Y MULTIMEDIA 15 MAYO.pptxTECNOLOGIA DE LA INFORMACION Y MULTIMEDIA 15 MAYO.pptx
TECNOLOGIA DE LA INFORMACION Y MULTIMEDIA 15 MAYO.pptxUPSE
 
Especificación casos de uso del negocio
Especificación  casos de uso del negocioEspecificación  casos de uso del negocio
Especificación casos de uso del negocioMagemyl Egana
 
El necesario mal del Legacy Code (Drupal Iberia 2024)
El necesario mal del Legacy Code (Drupal Iberia 2024)El necesario mal del Legacy Code (Drupal Iberia 2024)
El necesario mal del Legacy Code (Drupal Iberia 2024)Samuel Solís Fuentes
 
Modelado de Casos de uso del negocio
Modelado de  Casos  de  uso  del negocioModelado de  Casos  de  uso  del negocio
Modelado de Casos de uso del negocioMagemyl Egana
 

Dernier (8)

TECNOLOGÍA DE LA INFORMACIÓN SLIDESHARE INVESTIGACION.pdf
TECNOLOGÍA DE LA INFORMACIÓN SLIDESHARE INVESTIGACION.pdfTECNOLOGÍA DE LA INFORMACIÓN SLIDESHARE INVESTIGACION.pdf
TECNOLOGÍA DE LA INFORMACIÓN SLIDESHARE INVESTIGACION.pdf
 
Tipos de datos en Microsoft Access definiciones.pdf
Tipos de datos en Microsoft Access definiciones.pdfTipos de datos en Microsoft Access definiciones.pdf
Tipos de datos en Microsoft Access definiciones.pdf
 
contabilidad para la inflacion, contabilidad superior
contabilidad para la inflacion, contabilidad superiorcontabilidad para la inflacion, contabilidad superior
contabilidad para la inflacion, contabilidad superior
 
serenidad APP presentacion.pdfes una innovadora aplicación móvil diseñada par...
serenidad APP presentacion.pdfes una innovadora aplicación móvil diseñada par...serenidad APP presentacion.pdfes una innovadora aplicación móvil diseñada par...
serenidad APP presentacion.pdfes una innovadora aplicación móvil diseñada par...
 
TECNOLOGIA DE LA INFORMACION Y MULTIMEDIA 15 MAYO.pptx
TECNOLOGIA DE LA INFORMACION Y MULTIMEDIA 15 MAYO.pptxTECNOLOGIA DE LA INFORMACION Y MULTIMEDIA 15 MAYO.pptx
TECNOLOGIA DE LA INFORMACION Y MULTIMEDIA 15 MAYO.pptx
 
Especificación casos de uso del negocio
Especificación  casos de uso del negocioEspecificación  casos de uso del negocio
Especificación casos de uso del negocio
 
El necesario mal del Legacy Code (Drupal Iberia 2024)
El necesario mal del Legacy Code (Drupal Iberia 2024)El necesario mal del Legacy Code (Drupal Iberia 2024)
El necesario mal del Legacy Code (Drupal Iberia 2024)
 
Modelado de Casos de uso del negocio
Modelado de  Casos  de  uso  del negocioModelado de  Casos  de  uso  del negocio
Modelado de Casos de uso del negocio
 

Primefaces

  • 1. Primefaces   Diego  Armando  Gómez  M   dgomez@vortexbird.com    
  • 2. Introducción   •  Primefaces  es  una  implementación  de  JSF  de   código  libre.   •  En  el  2015  es  la  implementación  de  JSF  mas   popular.   •  Soporta  AJAX  basado  en  la  especificación   JSF2.0   •  Fácil  de  configurar.   •  Cuenta  con  Mobil  UI  Kit  
  • 3. Configuración   •  Solo  se  debe  descargar  el  jar  de  primefaces   •  primefaces-­‐{version}.jar   Maven   <dependency>                <groupId>org.primefaces</groupId>                <ar6factId>primefaces</ar6factId>                <version>5.1</version>   </dependency>   Gradle   'org.primefaces:primefaces:5.0'  
  • 4. Dependencias   Dependencia   Versión*   Tipo   Descripción   JSF  runLme   2.0,  2.1  or  2.2   Required   Apache  MyFaces  or  Oracle  Mojarra   itext   2.1.7   OpLonal   DataExporter  (PDF)   apache  poi   3.7   OpLonal   DataExporter  (Excel)   rome   1.0   OpLonal   FeedReader   commons-­‐fileupload   1.3   OpLonal   FileUpload   commons-­‐io   2.2   OpLonal   FileUpload   atmosphere   2.2.2   OpLonal   PrimeFaces  Push   barcode4j-­‐light   2.1   OpLonal   Barcode   qrgen   1.4   OpLonal   QR  Code  support  for  Barcode  
  • 5. RunAme   •  Especificaciones   •  JSF  2.0   •  JSF  2.1   •  JSF  2.2  
  • 6. Pagina  xhtml   <html  xmlns="hCp://www.w3.org/1999/xhtml"    xmlns:h="hCp://java.sun.com/jsf/html"    xmlns:f="hCp://java.sun.com/jsf/core"    xmlns:p="hCp://primefaces.org/ui">      <h:head>      </h:head>        <h:body>          <p:spinner  />          </h:body>   </html>  
  • 7. Configuración  de  tema  visual   <context-­‐param>      <param-­‐name>primefaces.THEME</param-­‐name>    <param-­‐value>bootstrap</param-­‐value>   </context-­‐param>    
  • 8. Configuración  web.xml   <?xml  version="1.0"  encoding="UTF-­‐8"?>   <web-­‐app  version="3.0"                    xmlns="hCp://java.sun.com/xml/ns/javaee"                    xmlns:xsi=hCp://www.w3.org/2001/XMLSchema-­‐instance    xsi:schemaLoca6on="hCp://java.sun.com/xml/ns/javaee  hCp://java.sun.com/xml/ ns/javaee/web-­‐app_3_0.xsd"  >                    <servlet>                  <servlet-­‐name>Faces  Servlet</servlet-­‐name>                  <servlet-­‐class>javax.faces.webapp.FacesServlet</servlet-­‐class>          </servlet>            <servlet-­‐mapping>                  <servlet-­‐name>Faces  Servlet</servlet-­‐name>                  <url-­‐paCern>*.jsf</url-­‐paCern>          </servlet-­‐mapping>            <servlet-­‐mapping>                  <servlet-­‐name>Faces  Servlet</servlet-­‐name>                  <url-­‐paCern>*.xhtml</url-­‐paCern>          </servlet-­‐mapping>            <context-­‐param>                <param-­‐name>primefaces.THEME</param-­‐name>                <param-­‐value>bootstrap</param-­‐value>            </context-­‐param>     </web-­‐app>  
  • 9. Procesamiento  y  Renderizado  parcial   •  PPR  (ParLal  Page  Rendering)   •  aaributes  (update,  process,  onstart,   oncomplete).   <h:form>                <p:commandBuaon  update="display"  />                <h:outputText  id="display"  value="#{bean.value}"/>   </h:form>  
  • 10. Procesamiento  y  Renderizado  parcial   •  ClientId   •  Es  posible  definir  el  ClientId  del  componente   que  se  desea  actualizar.   <h:form  id="myform">      <p:commandBuaon  update="myform:display"  />    <h:outputText  id="display"  value="#{bean.value}"/>     </h:form>    
  • 11. Procesamiento  y  Renderizado  parcial   •  Actualizar  Componentes  en  diferentes   contenedores   <h:form  id="form1">                <p:commandBuaon  update=":form2:display"  />   </h:form>   <h:form  id="form2">                <h:outputText  id="display"  value="#{bean.value}"/>   </h:form>  
  • 12. Procesamiento  y  Renderizado  parcial   •  Actualizar  múlLples  componentes   <h:form>      <p:commandBuaon  update="display1,display2"  />    <p:commandBuaon  update="display1  display2"  />    <h:outputText  id="display1"  value="#{bean.value1}"/>    <h:outputText  id="display2"  value="#{bean.value2}"/>     </h:form>    
  • 13. NoAficando  usuarios   •  Primefaces  cuenta  con  ajaxStatus  el  cual  noLfica  a  los   usuarios  sobre  las  peLciones  ajax.   •  Global  vs  Non-­‐Global   •  Por  defecto  todas  las  peLciones  son  globales  si  se  quiere   hacer  una  peLción  en  silencio  se  puede  apagar.   <p:commandBuaon  value="Silent"  global="false"  />     <p:commandBuaon  value="NoLfy"  global="true"  />   <p:ajaxStatus  onstart="PF('statusDialog').show()"   onsuccess="PF('statusDialog').hide()"  />       <p:dialog  widgetVar="statusDialog"  modal="true"  draggable="false"  closable="false"   resizable="false"  showHeader="false">          <p:graphicImage  name="/demo/images/ajaxloadingbar.gif"  />   </p:dialog>  
  • 14. ParAal  Processing   •  Update  es  similar  a  render  en  JSF  2.X   •  Process  es  similar  a  execute  en  JSF  2.X   •  El  update  se  usa  para  decir  a  primefaces  que   componentes  de  la  pantalla  deben  ser   actualizados.   •  El  process  se  usa  para  decir  a  primefaces  que   debe  ejecutar  cuando  se  ejecuta  un   componente.  
  • 15. ParAal  Processing   <h:form  id="form1">                <p:commandBuaon  id="btn"  update="form1"  process="btn"  />                <h:outputText  value="#{bean.value}"/>   </h:form>   <h:form  id="form1">                <p:commandBuaon  id="btn"  update="@form"  process="@this"  />                <h:outputText  value="#{bean.value}"/>   </h:form>  
  • 16. ParAal  Processing   Keyword   Type   DescripAon     @this Standard Current component @all Standard Whole view @form Standard Closest ancestor form of current component @none Standard No component
  • 17. PrimeFaces  Selectors  (PFS)   •  El  api  de  PFS  es  similar  a  el  api  de  jQuery   selector  pero  implementada  para  JSF.   •  Es  muy  potente  y  simple  a  las  vez.   •  Los  desarrolladores  que  estén  acostumbrados   a  jQuery  la  encuentran  muy  úLl.  
  • 18. PrimeFaces  Selectors  (PFS)   •  Actualizar  todos  los  form    de  una  pantalla   –  update="@(form)”   •  Actualizar  el  form  de  nombre  first   –  update="@(form:first)"     •  Actualizar  todos  los  componentes  cuya  styleClass  sea   miEsLlo   –  update="@(.miEsLlo)”   •   Actualizar  todos  los  dataTable   –  update="@(.ui-­‐datatable)”