SlideShare a Scribd company logo
1 of 34
Download to read offline
Utilizando JSF
                                         no desenvolvimento
                                         de aplicações Web



                              Palestrante:
                                  Thales Melo
PDF by http://www.k2pdf.com
Roteiro
O que é JSF?
 O mercado
Introdução
A Estrutura do JSF
Ciclo de Vida
Roteiro
Conversores e validadores
Conjuntos de componentes disponíveis
Faceless
O futuro próximo, JSF 2.0
Referências
O que é JSF?
É um avião de decolagem vertical de 38 milhões de dólares???
O que é JSF?
É um Framework MVC?
O que é JSF?
É um conjunto de componentes de UI?
O que é JSF?
 É um algo que posso usar para renderizar documentos
 em vários formatos?

 É uma especificação?

 JSF...
O mercado
03/03/2008
                                     NetCarreiras (15/02 )
Analista Desenvolvedor
                                     Analista Desenvolvedor
Requisitos:                          Graduação completa
 Struts                              4 anos de experiência
 Modelagem de Dados                  R$ 6501 a R$ 7000
 UML
 Desejável: PL-SQL, JSF
                                     Requisitos:
Jornada: 44 horas semanais            Servlets e JSPs
Remuneração: R$3.000,00 (CLT)         SQL
                                      Design Patterns
                                      JSF
                                      Spring
 Pesquisa no dia 27/05                Hibernate
                                      Modelagem ORM
                                      Banco de dados: Oracle
 http://manager.com.br 19 vagas
 http://netcarreiras.com 41 vagas
 http://emprego.trovit.pt 23 vagas
Introdução
 É o framework padrão de Java para web
 Criado pelo mesmo criador do Struts
 Framework dirigido a eventos
 Arquitetura baseada em componentes reutilizáveis
 Parte visual composta por TagsLibs e Classes Java
Introdução
 Navegação flexível
 Escolha dentre várias implementações
 Conversões e validações de forma fácil e integrada
 Vários conjuntos de componentes visuais gratuitos e
 proprietários
 Suporte a vários render kits
Introdução
É suportado por várias IDEs ( Netbeans, Eclipse, JDeveloper )
Introdução
Introdução
A Estrutura do JSF
  Páginas jsp ou xhtml
  Managed Beans
  Arquivos de configuração
  • web.xml
  • faces-config.xml
● Bibliotecas necessárias
A Estrutura do JSF
 Páginas Jsp
 Tags de utilização do JSF
  <%@ taglib uri=quot;http://java.sun.com/jsf/htmlquot; prefix=quot;hquot;%>
  <%@ taglib uri=quot;http://java.sun.com/jsf/corequot; prefix=quot;fquot;%>
A Estrutura do JSF
 Managed Beans
A Estrutura do JSF
 Arquivo de configuração ( faces-config.xml )
A Estrutura do JSF
 Arquivo de configuração ( web.xml )
A Estrutura do JSF
 Como colar tudo e fazer isto ter algum sentido??
A Estrutura do JSF
  Projeto web com JSF   Projeto web clássico
A Estrutura do JSF
    Bibliotecas necessárias

•      jsf-api.jar
•     jsf-impl.jar
•     commons-beanutils.jar
•     commons-collections.jar
•     commons-digester.jar
•     commons-logging.jar
•     jstl.jar
•     standard.jar
Ciclo de vida
Conversores e validadores
 Conversores padrão
 • javax.faces.convert.BigDecimalConverter
 • javax.faces.convert.BigIntegerConverter
    <h:inputText id=quot;agequot; value=quot;#{UserRegistration.usuario.salario}quot;>
        <f:convertNumber maxFractionDigits=quot;2“ maxIntegerDigits=quot;7“ type=“currency”/>
    </h:inputText>
 • javax.faces.convert.DateTimeConverter
    <h:inputText id=quot;agequot; value=quot;#{UserRegistration.usuario.dataDeNascimento}quot;>
        <f:convertDateTime pattern=quot;MM/yyyyquot;/>
    </h:inputText>
 • javax.faces.convert.CharacterConverter
 • javax.faces.short
    <h:inputText id=quot;agequot; value=quot;#{UserRegistration.user.age}quot;>
        <f:converter id=quot;javax.faces.Shortquot;/>
    </h:inputText>
Conversores e validadores
 Conversores customizados
    Extender a interface Converter
    Implementar os métodos getAsObject(...) getAsString(...)
    Registrar o converter no faces-config.xml
 <converter>
    <converter-id>MyConverter</converter-id>
    <converter-class>com.mycompany.project.web.MyConverter</converter-class>
 </converter>
Conversores e validadores
 Validadores padrão
 • f:validateDoubleRange
 • f:validateLongRange
 • f:validateLength


 Validadores padrão
   Fácil implementação
   Pequeno número validadores padrão disponíveis
Conversores e validadores
 Validadores Customizados
   Deve-se implementar a interface Validator
   Deve-se implementar o método validate()
   Registrar o validador no faces config
   <webapp>
       <validator>
          <validator-id>PhoneNumberValidator</validator-id>
          <validator-class>myvalidators.PhoneNumberValidator</validator-class>
       </validator>
  </web-app>

   Utilização
   <h:inputText value = quot;#{UserBean.phoneNumber}quot; id = quot;phoneNumberTFquot; required=quot;truequot;>
      <f:validator validatorId = quot;PhoneNumberValidatorquot;/>
   </h:inputText>
Conjuntos de componentes disponíveis
 ADF Faces ADF Faces Rich Client
 Backbase Enterprise Ajax — JSF Edition
  ICEfaces, open-source, Java JSF extension framework and rich
  ICEfaces
 components, Ajax without JavaScript
 jBoss RichFaces and Ajax4JSF, Ajax-enabled JSF Components
                        Ajax4JSF
 MyFaces, JSF Implementation with Ajax Components
 MyFaces
 Sun Java BluePrints AJAX Components
 MB Technologies BindowsFaces
 ZK Ajax framework with JSF components
 J4Fry Ajax JSF Solution
Conjuntos de componentes disponíveis
Bindows Faces
Conjuntos de componentes disponíveis
Ice Faces
Conjuntos de componentes disponíveis
ADF Faces
                Rich faces
Faceless
Utilizado para construir layouts complexos compostos por
várias páginas
Será padrão na implementação do JSF 2.0
Utiliza arquivos xhtml ao invés de jsp
Dispensa a utilização de jsps
Mais rápido que jsp+jsf
Foi desenvolvido para trabalhar integrado ao JSF
O futuro próximo, JSF 2.0
Previsto para sair juntamente com javaEE6.0
Acabar com os arquivos xml e utilizar anotações
Permitir maior facilidade na criação de componentes
customizados.
Melhor integração com ajax, permitindo assim validação
integrada dos lados cliente e servidor
Referências
Sun Official JavaServer Faces Page
http://java.sun.com/j2ee/javaserverfaces

Java Community Process JavaServer Faces Page
http://www.jcp.org/en/jsr/detail?id=127

Java BluePrints AJAX Components
https://blueprints.dev.java.net/ajaxcomponents.html

MyFaces - Tomahawk
http://myfaces.apache.org/tomahawk/
http://myfaces.apache.org/sandbox/

MyFaces - Oracle ADF
http://www.oracle.com/technology/products/adf/learnadf.html

Demo RICH FACES
http://livedemo.exadel.com/richfaces-demo/index.jsp

Demo ICEFACES
http://component-showcase.icefaces.org/component-showcase/showcase.iface
Dúvidas e Perguntas

www.thalesmelo.com/blogger

thales.batista@tener.com.br

More Related Content

What's hot

JSF2 ScrumToys SestInfo 2010
JSF2 ScrumToys SestInfo 2010JSF2 ScrumToys SestInfo 2010
JSF2 ScrumToys SestInfo 2010Eder Magalhães
 
Apresentação jsf 2.0
Apresentação jsf 2.0Apresentação jsf 2.0
Apresentação jsf 2.0Paulo Neto
 
Arquitetura MVC, JavaBeans e DAO
Arquitetura MVC, JavaBeans e DAOArquitetura MVC, JavaBeans e DAO
Arquitetura MVC, JavaBeans e DAOLeonardo Sousa
 
MC31 - Desenvolvimento um Aplicativo completo usando JSF, EJB e padrões
MC31 - Desenvolvimento um Aplicativo completo usando JSF, EJB e padrõesMC31 - Desenvolvimento um Aplicativo completo usando JSF, EJB e padrões
MC31 - Desenvolvimento um Aplicativo completo usando JSF, EJB e padrõesRodrigo Cândido da Silva
 
Conhecendo os Padrões De Projetos
Conhecendo os Padrões De ProjetosConhecendo os Padrões De Projetos
Conhecendo os Padrões De Projetoscejug
 
Anatomia do JSF – JavaServer Faces
Anatomia do JSF – JavaServer FacesAnatomia do JSF – JavaServer Faces
Anatomia do JSF – JavaServer Facescejug
 
Workshop Ruby on Rails dia 2 ruby-pt
Workshop Ruby on Rails dia 2  ruby-ptWorkshop Ruby on Rails dia 2  ruby-pt
Workshop Ruby on Rails dia 2 ruby-ptPedro Sousa
 
Jsf – Java Sever Faces
Jsf – Java Sever FacesJsf – Java Sever Faces
Jsf – Java Sever Facesbielgott
 
Produtividade com JavaServer Faces
Produtividade com JavaServer FacesProdutividade com JavaServer Faces
Produtividade com JavaServer FacesEduardo Bregaida
 
Repensando padrões e boas práticas java ee
Repensando padrões e boas práticas java eeRepensando padrões e boas práticas java ee
Repensando padrões e boas práticas java eeAdriano Tavares
 
JSF 2 e Primefaces - 4º Encontro Mensal do Gojava
JSF 2 e Primefaces - 4º Encontro Mensal do GojavaJSF 2 e Primefaces - 4º Encontro Mensal do Gojava
JSF 2 e Primefaces - 4º Encontro Mensal do GojavaFrederico Maia Arantes
 

What's hot (20)

JSF - JavaServer Faces
JSF - JavaServer FacesJSF - JavaServer Faces
JSF - JavaServer Faces
 
JSF2 ScrumToys SestInfo 2010
JSF2 ScrumToys SestInfo 2010JSF2 ScrumToys SestInfo 2010
JSF2 ScrumToys SestInfo 2010
 
Apresentação jsf 1_2
Apresentação jsf 1_2Apresentação jsf 1_2
Apresentação jsf 1_2
 
Java web
Java webJava web
Java web
 
ORM e EF
ORM e EFORM e EF
ORM e EF
 
Apresentação jsf 2.0
Apresentação jsf 2.0Apresentação jsf 2.0
Apresentação jsf 2.0
 
Arquitetura MVC, JavaBeans e DAO
Arquitetura MVC, JavaBeans e DAOArquitetura MVC, JavaBeans e DAO
Arquitetura MVC, JavaBeans e DAO
 
Aula parte 2 de JSF 2.2
Aula parte 2 de JSF 2.2Aula parte 2 de JSF 2.2
Aula parte 2 de JSF 2.2
 
MC31 - Desenvolvimento um Aplicativo completo usando JSF, EJB e padrões
MC31 - Desenvolvimento um Aplicativo completo usando JSF, EJB e padrõesMC31 - Desenvolvimento um Aplicativo completo usando JSF, EJB e padrões
MC31 - Desenvolvimento um Aplicativo completo usando JSF, EJB e padrões
 
Conhecendo os Padrões De Projetos
Conhecendo os Padrões De ProjetosConhecendo os Padrões De Projetos
Conhecendo os Padrões De Projetos
 
Anatomia do JSF – JavaServer Faces
Anatomia do JSF – JavaServer FacesAnatomia do JSF – JavaServer Faces
Anatomia do JSF – JavaServer Faces
 
Minicurso jsf2.0
Minicurso jsf2.0Minicurso jsf2.0
Minicurso jsf2.0
 
Workshop Ruby on Rails dia 2 ruby-pt
Workshop Ruby on Rails dia 2  ruby-ptWorkshop Ruby on Rails dia 2  ruby-pt
Workshop Ruby on Rails dia 2 ruby-pt
 
Jsf – Java Sever Faces
Jsf – Java Sever FacesJsf – Java Sever Faces
Jsf – Java Sever Faces
 
ASP.NET MVC
ASP.NET MVCASP.NET MVC
ASP.NET MVC
 
Serra StarTec 2013 - Java EE
Serra StarTec 2013 - Java EESerra StarTec 2013 - Java EE
Serra StarTec 2013 - Java EE
 
Produtividade com JavaServer Faces
Produtividade com JavaServer FacesProdutividade com JavaServer Faces
Produtividade com JavaServer Faces
 
Repensando padrões e boas práticas java ee
Repensando padrões e boas práticas java eeRepensando padrões e boas práticas java ee
Repensando padrões e boas práticas java ee
 
JSF 2 e Primefaces - 4º Encontro Mensal do Gojava
JSF 2 e Primefaces - 4º Encontro Mensal do GojavaJSF 2 e Primefaces - 4º Encontro Mensal do Gojava
JSF 2 e Primefaces - 4º Encontro Mensal do Gojava
 
Java web
Java webJava web
Java web
 

Viewers also liked

11601快訊新聞五則
11601快訊新聞五則11601快訊新聞五則
11601快訊新聞五則beelinelmn
 
Play Framework - Desenvolvendo Aplicações Web com Java sem Dor
Play Framework - Desenvolvendo Aplicações Web com Java sem DorPlay Framework - Desenvolvendo Aplicações Web com Java sem Dor
Play Framework - Desenvolvendo Aplicações Web com Java sem DorAllyson Barros
 
Desenvolvimento Web com JSF
Desenvolvimento Web com JSFDesenvolvimento Web com JSF
Desenvolvimento Web com JSFDalton Valadares
 
Caelum java-testes-jsf-web-services-design-patterns-fj22
Caelum java-testes-jsf-web-services-design-patterns-fj22Caelum java-testes-jsf-web-services-design-patterns-fj22
Caelum java-testes-jsf-web-services-design-patterns-fj22Moisés Moura
 
Boas Práticas com JavaServer Faces (Jsf)
Boas Práticas com JavaServer Faces (Jsf)Boas Práticas com JavaServer Faces (Jsf)
Boas Práticas com JavaServer Faces (Jsf)Rafael Ponte
 

Viewers also liked (8)

11601快訊新聞五則
11601快訊新聞五則11601快訊新聞五則
11601快訊新聞五則
 
Play Framework - Desenvolvendo Aplicações Web com Java sem Dor
Play Framework - Desenvolvendo Aplicações Web com Java sem DorPlay Framework - Desenvolvendo Aplicações Web com Java sem Dor
Play Framework - Desenvolvendo Aplicações Web com Java sem Dor
 
Desenvolvimento Web com JSF
Desenvolvimento Web com JSFDesenvolvimento Web com JSF
Desenvolvimento Web com JSF
 
Framework web 3 - JSF + Spring boot
Framework web 3 - JSF + Spring bootFramework web 3 - JSF + Spring boot
Framework web 3 - JSF + Spring boot
 
Apostila jsf
Apostila jsfApostila jsf
Apostila jsf
 
Apostila JSF 2.0 - K19
Apostila JSF 2.0 - K19Apostila JSF 2.0 - K19
Apostila JSF 2.0 - K19
 
Caelum java-testes-jsf-web-services-design-patterns-fj22
Caelum java-testes-jsf-web-services-design-patterns-fj22Caelum java-testes-jsf-web-services-design-patterns-fj22
Caelum java-testes-jsf-web-services-design-patterns-fj22
 
Boas Práticas com JavaServer Faces (Jsf)
Boas Práticas com JavaServer Faces (Jsf)Boas Práticas com JavaServer Faces (Jsf)
Boas Práticas com JavaServer Faces (Jsf)
 

Similar to UtilizandoJSF_no_Desenvolvimento_de_aplicacoes_web_by_Thales_Batista_de_Melo

Sistema S2DG e Tecnologias Web
Sistema S2DG e Tecnologias WebSistema S2DG e Tecnologias Web
Sistema S2DG e Tecnologias WebElenilson Vieira
 
Introdução ao ASP.NET 3.5 - Campus Party Brasil 2009
Introdução ao ASP.NET 3.5 - Campus Party Brasil 2009Introdução ao ASP.NET 3.5 - Campus Party Brasil 2009
Introdução ao ASP.NET 3.5 - Campus Party Brasil 2009Ramon Durães
 
Java No Setor Público: Produtividade, Flexibilidade e Baixo Custo
Java No Setor Público: Produtividade, Flexibilidade e Baixo CustoJava No Setor Público: Produtividade, Flexibilidade e Baixo Custo
Java No Setor Público: Produtividade, Flexibilidade e Baixo CustoÉberli Cabistani Riella
 
TechDay - Sistemas WEB em Java - Rogério N. Jr.
TechDay - Sistemas WEB em Java - Rogério N. Jr.TechDay - Sistemas WEB em Java - Rogério N. Jr.
TechDay - Sistemas WEB em Java - Rogério N. Jr.Rogério Napoleão Jr.
 
JSP - Java Serves Pages
JSP - Java Serves PagesJSP - Java Serves Pages
JSP - Java Serves PagesAmanda Luz
 
Apresentação Facelets_UNIFEI
Apresentação Facelets_UNIFEIApresentação Facelets_UNIFEI
Apresentação Facelets_UNIFEIFelipe Knappe
 
JSF 2.0 e ScrumToys
JSF 2.0 e ScrumToysJSF 2.0 e ScrumToys
JSF 2.0 e ScrumToysDr. Spock
 
Backbone.js nas trincheiras
Backbone.js nas trincheirasBackbone.js nas trincheiras
Backbone.js nas trincheirasLambda 3
 
Navegando em um mar de siglas do mundo java
Navegando em um mar de siglas do mundo javaNavegando em um mar de siglas do mundo java
Navegando em um mar de siglas do mundo javaAndrei Tognolo
 
Treinamento ASP.NET 2014
Treinamento ASP.NET 2014Treinamento ASP.NET 2014
Treinamento ASP.NET 2014Eric Gallardo
 
JSF 2.0 e ScrumToys
JSF 2.0 e ScrumToysJSF 2.0 e ScrumToys
JSF 2.0 e ScrumToysDr. Spock
 
JSF e outras tecnologias Java Web - IMES.java
JSF e outras tecnologias Java Web - IMES.javaJSF e outras tecnologias Java Web - IMES.java
JSF e outras tecnologias Java Web - IMES.javaEduardo Bregaida
 
Padrão Arquitetural MVC e suas aplicações para WEB
Padrão Arquitetural MVC e suas aplicações para WEBPadrão Arquitetural MVC e suas aplicações para WEB
Padrão Arquitetural MVC e suas aplicações para WEBRafael França
 

Similar to UtilizandoJSF_no_Desenvolvimento_de_aplicacoes_web_by_Thales_Batista_de_Melo (20)

Curso jsf
Curso jsfCurso jsf
Curso jsf
 
Sistema S2DG e Tecnologias Web
Sistema S2DG e Tecnologias WebSistema S2DG e Tecnologias Web
Sistema S2DG e Tecnologias Web
 
Introdução ao ASP.NET 3.5 - Campus Party Brasil 2009
Introdução ao ASP.NET 3.5 - Campus Party Brasil 2009Introdução ao ASP.NET 3.5 - Campus Party Brasil 2009
Introdução ao ASP.NET 3.5 - Campus Party Brasil 2009
 
JavaServer Faces
JavaServer FacesJavaServer Faces
JavaServer Faces
 
Jsf
JsfJsf
Jsf
 
Java No Setor Público: Produtividade, Flexibilidade e Baixo Custo
Java No Setor Público: Produtividade, Flexibilidade e Baixo CustoJava No Setor Público: Produtividade, Flexibilidade e Baixo Custo
Java No Setor Público: Produtividade, Flexibilidade e Baixo Custo
 
GUJavaSC - Mini-curso Java EE
GUJavaSC - Mini-curso Java EEGUJavaSC - Mini-curso Java EE
GUJavaSC - Mini-curso Java EE
 
TechDay - Sistemas WEB em Java - Rogério N. Jr.
TechDay - Sistemas WEB em Java - Rogério N. Jr.TechDay - Sistemas WEB em Java - Rogério N. Jr.
TechDay - Sistemas WEB em Java - Rogério N. Jr.
 
Jsf 2 slideshare
Jsf 2 slideshareJsf 2 slideshare
Jsf 2 slideshare
 
Jheat
JheatJheat
Jheat
 
JSP - Java Serves Pages
JSP - Java Serves PagesJSP - Java Serves Pages
JSP - Java Serves Pages
 
Apresentação Facelets_UNIFEI
Apresentação Facelets_UNIFEIApresentação Facelets_UNIFEI
Apresentação Facelets_UNIFEI
 
JSF 2.0 e ScrumToys
JSF 2.0 e ScrumToysJSF 2.0 e ScrumToys
JSF 2.0 e ScrumToys
 
Backbone.js nas trincheiras
Backbone.js nas trincheirasBackbone.js nas trincheiras
Backbone.js nas trincheiras
 
Navegando em um mar de siglas do mundo java
Navegando em um mar de siglas do mundo javaNavegando em um mar de siglas do mundo java
Navegando em um mar de siglas do mundo java
 
Treinamento ASP.NET 2014
Treinamento ASP.NET 2014Treinamento ASP.NET 2014
Treinamento ASP.NET 2014
 
JSF 2.0 e ScrumToys
JSF 2.0 e ScrumToysJSF 2.0 e ScrumToys
JSF 2.0 e ScrumToys
 
Palestra
PalestraPalestra
Palestra
 
JSF e outras tecnologias Java Web - IMES.java
JSF e outras tecnologias Java Web - IMES.javaJSF e outras tecnologias Java Web - IMES.java
JSF e outras tecnologias Java Web - IMES.java
 
Padrão Arquitetural MVC e suas aplicações para WEB
Padrão Arquitetural MVC e suas aplicações para WEBPadrão Arquitetural MVC e suas aplicações para WEB
Padrão Arquitetural MVC e suas aplicações para WEB
 

UtilizandoJSF_no_Desenvolvimento_de_aplicacoes_web_by_Thales_Batista_de_Melo

  • 1. Utilizando JSF no desenvolvimento de aplicações Web Palestrante: Thales Melo PDF by http://www.k2pdf.com
  • 2. Roteiro O que é JSF? O mercado Introdução A Estrutura do JSF Ciclo de Vida
  • 3. Roteiro Conversores e validadores Conjuntos de componentes disponíveis Faceless O futuro próximo, JSF 2.0 Referências
  • 4. O que é JSF? É um avião de decolagem vertical de 38 milhões de dólares???
  • 5. O que é JSF? É um Framework MVC?
  • 6. O que é JSF? É um conjunto de componentes de UI?
  • 7. O que é JSF? É um algo que posso usar para renderizar documentos em vários formatos? É uma especificação? JSF...
  • 8. O mercado 03/03/2008 NetCarreiras (15/02 ) Analista Desenvolvedor Analista Desenvolvedor Requisitos: Graduação completa Struts 4 anos de experiência Modelagem de Dados R$ 6501 a R$ 7000 UML Desejável: PL-SQL, JSF Requisitos: Jornada: 44 horas semanais Servlets e JSPs Remuneração: R$3.000,00 (CLT) SQL Design Patterns JSF Spring Pesquisa no dia 27/05 Hibernate Modelagem ORM Banco de dados: Oracle http://manager.com.br 19 vagas http://netcarreiras.com 41 vagas http://emprego.trovit.pt 23 vagas
  • 9. Introdução É o framework padrão de Java para web Criado pelo mesmo criador do Struts Framework dirigido a eventos Arquitetura baseada em componentes reutilizáveis Parte visual composta por TagsLibs e Classes Java
  • 10. Introdução Navegação flexível Escolha dentre várias implementações Conversões e validações de forma fácil e integrada Vários conjuntos de componentes visuais gratuitos e proprietários Suporte a vários render kits
  • 11. Introdução É suportado por várias IDEs ( Netbeans, Eclipse, JDeveloper )
  • 14. A Estrutura do JSF Páginas jsp ou xhtml Managed Beans Arquivos de configuração • web.xml • faces-config.xml ● Bibliotecas necessárias
  • 15. A Estrutura do JSF Páginas Jsp Tags de utilização do JSF <%@ taglib uri=quot;http://java.sun.com/jsf/htmlquot; prefix=quot;hquot;%> <%@ taglib uri=quot;http://java.sun.com/jsf/corequot; prefix=quot;fquot;%>
  • 16. A Estrutura do JSF Managed Beans
  • 17. A Estrutura do JSF Arquivo de configuração ( faces-config.xml )
  • 18. A Estrutura do JSF Arquivo de configuração ( web.xml )
  • 19. A Estrutura do JSF Como colar tudo e fazer isto ter algum sentido??
  • 20. A Estrutura do JSF Projeto web com JSF Projeto web clássico
  • 21. A Estrutura do JSF Bibliotecas necessárias • jsf-api.jar • jsf-impl.jar • commons-beanutils.jar • commons-collections.jar • commons-digester.jar • commons-logging.jar • jstl.jar • standard.jar
  • 23. Conversores e validadores Conversores padrão • javax.faces.convert.BigDecimalConverter • javax.faces.convert.BigIntegerConverter <h:inputText id=quot;agequot; value=quot;#{UserRegistration.usuario.salario}quot;> <f:convertNumber maxFractionDigits=quot;2“ maxIntegerDigits=quot;7“ type=“currency”/> </h:inputText> • javax.faces.convert.DateTimeConverter <h:inputText id=quot;agequot; value=quot;#{UserRegistration.usuario.dataDeNascimento}quot;> <f:convertDateTime pattern=quot;MM/yyyyquot;/> </h:inputText> • javax.faces.convert.CharacterConverter • javax.faces.short <h:inputText id=quot;agequot; value=quot;#{UserRegistration.user.age}quot;> <f:converter id=quot;javax.faces.Shortquot;/> </h:inputText>
  • 24. Conversores e validadores Conversores customizados Extender a interface Converter Implementar os métodos getAsObject(...) getAsString(...) Registrar o converter no faces-config.xml <converter> <converter-id>MyConverter</converter-id> <converter-class>com.mycompany.project.web.MyConverter</converter-class> </converter>
  • 25. Conversores e validadores Validadores padrão • f:validateDoubleRange • f:validateLongRange • f:validateLength Validadores padrão Fácil implementação Pequeno número validadores padrão disponíveis
  • 26. Conversores e validadores Validadores Customizados Deve-se implementar a interface Validator Deve-se implementar o método validate() Registrar o validador no faces config <webapp> <validator> <validator-id>PhoneNumberValidator</validator-id> <validator-class>myvalidators.PhoneNumberValidator</validator-class> </validator> </web-app> Utilização <h:inputText value = quot;#{UserBean.phoneNumber}quot; id = quot;phoneNumberTFquot; required=quot;truequot;> <f:validator validatorId = quot;PhoneNumberValidatorquot;/> </h:inputText>
  • 27. Conjuntos de componentes disponíveis ADF Faces ADF Faces Rich Client Backbase Enterprise Ajax — JSF Edition ICEfaces, open-source, Java JSF extension framework and rich ICEfaces components, Ajax without JavaScript jBoss RichFaces and Ajax4JSF, Ajax-enabled JSF Components Ajax4JSF MyFaces, JSF Implementation with Ajax Components MyFaces Sun Java BluePrints AJAX Components MB Technologies BindowsFaces ZK Ajax framework with JSF components J4Fry Ajax JSF Solution
  • 28. Conjuntos de componentes disponíveis Bindows Faces
  • 29. Conjuntos de componentes disponíveis Ice Faces
  • 30. Conjuntos de componentes disponíveis ADF Faces Rich faces
  • 31. Faceless Utilizado para construir layouts complexos compostos por várias páginas Será padrão na implementação do JSF 2.0 Utiliza arquivos xhtml ao invés de jsp Dispensa a utilização de jsps Mais rápido que jsp+jsf Foi desenvolvido para trabalhar integrado ao JSF
  • 32. O futuro próximo, JSF 2.0 Previsto para sair juntamente com javaEE6.0 Acabar com os arquivos xml e utilizar anotações Permitir maior facilidade na criação de componentes customizados. Melhor integração com ajax, permitindo assim validação integrada dos lados cliente e servidor
  • 33. Referências Sun Official JavaServer Faces Page http://java.sun.com/j2ee/javaserverfaces Java Community Process JavaServer Faces Page http://www.jcp.org/en/jsr/detail?id=127 Java BluePrints AJAX Components https://blueprints.dev.java.net/ajaxcomponents.html MyFaces - Tomahawk http://myfaces.apache.org/tomahawk/ http://myfaces.apache.org/sandbox/ MyFaces - Oracle ADF http://www.oracle.com/technology/products/adf/learnadf.html Demo RICH FACES http://livedemo.exadel.com/richfaces-demo/index.jsp Demo ICEFACES http://component-showcase.icefaces.org/component-showcase/showcase.iface