java server faces 2 - brunovasconcelos.files.wordpress.com · java server faces 2.0 rich faces 4.0...
TRANSCRIPT
![Page 1: Java Server Faces 2 - brunovasconcelos.files.wordpress.com · Java Server Faces 2.0 Rich Faces 4.0 DEPARTAMENTO DE INFORMÁTICA -DI Bruno Garcia Vasconcelos Desenvolvedor de Sistemas](https://reader030.vdocuments.mx/reader030/viewer/2022021715/5c66c05a09d3f230488ca575/html5/thumbnails/1.jpg)
Java Server Faces 2.0Rich Faces 4.0
DEPARTAMENTO DE INFORMÁTICA - DI
Bruno Garcia VasconcelosDesenvolvedor de Sistemas
[email protected]://brunovasconcelos.wordpress.com
Quais as novidades e alterações nas novas versões das tecnologias?
Pablo Bruno de Moura NóbregaAnalista de Sistemas
[email protected]://pablonobrega.wordpress.com
![Page 2: Java Server Faces 2 - brunovasconcelos.files.wordpress.com · Java Server Faces 2.0 Rich Faces 4.0 DEPARTAMENTO DE INFORMÁTICA -DI Bruno Garcia Vasconcelos Desenvolvedor de Sistemas](https://reader030.vdocuments.mx/reader030/viewer/2022021715/5c66c05a09d3f230488ca575/html5/thumbnails/2.jpg)
Tópicos
� JSF 2.0: Considerações Iniciais
� JSF 2.0: Bibliotecas e Configurações
� Rich Faces 4.0: Bibliotecas e Configurações
� JSF 2.0: Managed Beans, Converters e Validators
� JSF 2.0: Regras de Navegação
� JSF 2.0: Validação de Beans e Mensagens de Erro
� JSF 2.0: Injeção de Dependência
� Rich Faces 4.0: Componentes (Alteração e Atualização)
� Referências de estudo e Links úteis
![Page 3: Java Server Faces 2 - brunovasconcelos.files.wordpress.com · Java Server Faces 2.0 Rich Faces 4.0 DEPARTAMENTO DE INFORMÁTICA -DI Bruno Garcia Vasconcelos Desenvolvedor de Sistemas](https://reader030.vdocuments.mx/reader030/viewer/2022021715/5c66c05a09d3f230488ca575/html5/thumbnails/3.jpg)
JSF 2.0: Considerações Iniciais
� Anotações para substituir muitas configurações no faces-config.xml.
� Suporte nativo a Ajax e Groovy.
� Suporte integrado para facelets facilitando criação de componentes.
� Mais componentes personalizados e validadores.
� Possibilidade de utilizar bookmarking.
� Debug mais detalhado: setando o valor Development na configuração
PROJECT_STAGE do web.xml, aparecerão mensagens de erro mais explícitas.
� JSF 2 despreza o JSP como linguagem da camada de visão.
� RichFaces abandonou o suporte ao JSP a partir da versão 4.0.0.Final.
� No RichFaces 4, todos os componentes novos e a maioria dos recursos não
funcionam para camada de visão em JSP juntamento com JSF 2.
� Rich Faces usa o Facelets (*.xhtml) como camada de visão para JSF 2.
![Page 4: Java Server Faces 2 - brunovasconcelos.files.wordpress.com · Java Server Faces 2.0 Rich Faces 4.0 DEPARTAMENTO DE INFORMÁTICA -DI Bruno Garcia Vasconcelos Desenvolvedor de Sistemas](https://reader030.vdocuments.mx/reader030/viewer/2022021715/5c66c05a09d3f230488ca575/html5/thumbnails/4.jpg)
JSF 2.0: BibliotecasVersão - 2.1.7Versão - 1.2
![Page 5: Java Server Faces 2 - brunovasconcelos.files.wordpress.com · Java Server Faces 2.0 Rich Faces 4.0 DEPARTAMENTO DE INFORMÁTICA -DI Bruno Garcia Vasconcelos Desenvolvedor de Sistemas](https://reader030.vdocuments.mx/reader030/viewer/2022021715/5c66c05a09d3f230488ca575/html5/thumbnails/5.jpg)
JSF 2.0: Configurações Versão - 1.2
Versão - 2.1.7
![Page 6: Java Server Faces 2 - brunovasconcelos.files.wordpress.com · Java Server Faces 2.0 Rich Faces 4.0 DEPARTAMENTO DE INFORMÁTICA -DI Bruno Garcia Vasconcelos Desenvolvedor de Sistemas](https://reader030.vdocuments.mx/reader030/viewer/2022021715/5c66c05a09d3f230488ca575/html5/thumbnails/6.jpg)
Rich Faces 4.0: Bibliotecas
![Page 7: Java Server Faces 2 - brunovasconcelos.files.wordpress.com · Java Server Faces 2.0 Rich Faces 4.0 DEPARTAMENTO DE INFORMÁTICA -DI Bruno Garcia Vasconcelos Desenvolvedor de Sistemas](https://reader030.vdocuments.mx/reader030/viewer/2022021715/5c66c05a09d3f230488ca575/html5/thumbnails/7.jpg)
Rich Faces 4.0: BibliotecasVersão - 4.2.0Versão - 3.3.X
![Page 8: Java Server Faces 2 - brunovasconcelos.files.wordpress.com · Java Server Faces 2.0 Rich Faces 4.0 DEPARTAMENTO DE INFORMÁTICA -DI Bruno Garcia Vasconcelos Desenvolvedor de Sistemas](https://reader030.vdocuments.mx/reader030/viewer/2022021715/5c66c05a09d3f230488ca575/html5/thumbnails/8.jpg)
Rich Faces 4.0: ConfiguraçõesVersão - 4.2.0Versão - 3.3.X
![Page 9: Java Server Faces 2 - brunovasconcelos.files.wordpress.com · Java Server Faces 2.0 Rich Faces 4.0 DEPARTAMENTO DE INFORMÁTICA -DI Bruno Garcia Vasconcelos Desenvolvedor de Sistemas](https://reader030.vdocuments.mx/reader030/viewer/2022021715/5c66c05a09d3f230488ca575/html5/thumbnails/9.jpg)
Rich Faces 4.0: Configurações
![Page 10: Java Server Faces 2 - brunovasconcelos.files.wordpress.com · Java Server Faces 2.0 Rich Faces 4.0 DEPARTAMENTO DE INFORMÁTICA -DI Bruno Garcia Vasconcelos Desenvolvedor de Sistemas](https://reader030.vdocuments.mx/reader030/viewer/2022021715/5c66c05a09d3f230488ca575/html5/thumbnails/10.jpg)
JSF 2.0: Managed Beans
Versão - 2.1.7
Versão - 1.2
![Page 11: Java Server Faces 2 - brunovasconcelos.files.wordpress.com · Java Server Faces 2.0 Rich Faces 4.0 DEPARTAMENTO DE INFORMÁTICA -DI Bruno Garcia Vasconcelos Desenvolvedor de Sistemas](https://reader030.vdocuments.mx/reader030/viewer/2022021715/5c66c05a09d3f230488ca575/html5/thumbnails/11.jpg)
JSF 2.0: Managed Beans >> Escopos
![Page 12: Java Server Faces 2 - brunovasconcelos.files.wordpress.com · Java Server Faces 2.0 Rich Faces 4.0 DEPARTAMENTO DE INFORMÁTICA -DI Bruno Garcia Vasconcelos Desenvolvedor de Sistemas](https://reader030.vdocuments.mx/reader030/viewer/2022021715/5c66c05a09d3f230488ca575/html5/thumbnails/12.jpg)
JSF 2.0: Converters
Versão
2.1.7
Versão
1.2
Classe que implementa a interface javax.faces.convert.Converter. Nela, devemos adicionar a anotação
@FacesConverter para indicar a classe associada a esse conversor, ou o identificador entre aspas dupla.
![Page 13: Java Server Faces 2 - brunovasconcelos.files.wordpress.com · Java Server Faces 2.0 Rich Faces 4.0 DEPARTAMENTO DE INFORMÁTICA -DI Bruno Garcia Vasconcelos Desenvolvedor de Sistemas](https://reader030.vdocuments.mx/reader030/viewer/2022021715/5c66c05a09d3f230488ca575/html5/thumbnails/13.jpg)
JSF 2.0: Validators
Versão
2.1.7
Versão
1.2
Classe que implemente a interface javax.faces.validator.Validator. Essa interface define um único método, o
validate(). Além disso, a classe também precisa ser anotada com @FacesValidator.
Passando Parâmetros para o Validador
![Page 14: Java Server Faces 2 - brunovasconcelos.files.wordpress.com · Java Server Faces 2.0 Rich Faces 4.0 DEPARTAMENTO DE INFORMÁTICA -DI Bruno Garcia Vasconcelos Desenvolvedor de Sistemas](https://reader030.vdocuments.mx/reader030/viewer/2022021715/5c66c05a09d3f230488ca575/html5/thumbnails/14.jpg)
JSF 2.0: ValidatorsPara facilitar o desenvolvimento de uma aplicação, o JSF define um conjunto de validadores padrão.
![Page 15: Java Server Faces 2 - brunovasconcelos.files.wordpress.com · Java Server Faces 2.0 Rich Faces 4.0 DEPARTAMENTO DE INFORMÁTICA -DI Bruno Garcia Vasconcelos Desenvolvedor de Sistemas](https://reader030.vdocuments.mx/reader030/viewer/2022021715/5c66c05a09d3f230488ca575/html5/thumbnails/15.jpg)
JSF 2.0: Validação de BeansUma nova abordagem para definir validações foi adicionada no JSF 2. A ideia é declarar as regras de
validação nas classes do modelo ao invés de inseri-las nos arquivos XHTML que definem as telas.
Para definir as validações com bean validation, basta adicionar anotações nas classes do modelo.
![Page 16: Java Server Faces 2 - brunovasconcelos.files.wordpress.com · Java Server Faces 2.0 Rich Faces 4.0 DEPARTAMENTO DE INFORMÁTICA -DI Bruno Garcia Vasconcelos Desenvolvedor de Sistemas](https://reader030.vdocuments.mx/reader030/viewer/2022021715/5c66c05a09d3f230488ca575/html5/thumbnails/16.jpg)
JSF 2.0: Validação de Beans
![Page 17: Java Server Faces 2 - brunovasconcelos.files.wordpress.com · Java Server Faces 2.0 Rich Faces 4.0 DEPARTAMENTO DE INFORMÁTICA -DI Bruno Garcia Vasconcelos Desenvolvedor de Sistemas](https://reader030.vdocuments.mx/reader030/viewer/2022021715/5c66c05a09d3f230488ca575/html5/thumbnails/17.jpg)
JSF 2.0: Mensagens de ErroPodemos personalizar as mensagens de erro através do atributo message das anotações do bean validation.
Ou pode ser mais apropriado defini-la em um arquivo de mensagens. Nesse caso, devemos criar um arquivo
chamado “ValidationMessages.properties” no classpath da aplicação.
Agora, suponha que desejamos criar uma mensagem comum associada ao validador @NotNull.
![Page 18: Java Server Faces 2 - brunovasconcelos.files.wordpress.com · Java Server Faces 2.0 Rich Faces 4.0 DEPARTAMENTO DE INFORMÁTICA -DI Bruno Garcia Vasconcelos Desenvolvedor de Sistemas](https://reader030.vdocuments.mx/reader030/viewer/2022021715/5c66c05a09d3f230488ca575/html5/thumbnails/18.jpg)
JSF 2.0: Regras de Navegação
Versão
2.1.7
Versão
1.2
Quando uma action retorna uma
outcome, caso nenhuma regra de
navegação compatível seja
encontrada, funciona a
navegação implícita.
Navigation case com <if>
EL no <to-view-id>
Navegação explicita declarada em
faces.-config.xml
Outcome pode ser propriedade action de
componente ou String retornada por
metodo de managed bean.
![Page 19: Java Server Faces 2 - brunovasconcelos.files.wordpress.com · Java Server Faces 2.0 Rich Faces 4.0 DEPARTAMENTO DE INFORMÁTICA -DI Bruno Garcia Vasconcelos Desenvolvedor de Sistemas](https://reader030.vdocuments.mx/reader030/viewer/2022021715/5c66c05a09d3f230488ca575/html5/thumbnails/19.jpg)
JSF 2.0: Regras de Navegação
![Page 20: Java Server Faces 2 - brunovasconcelos.files.wordpress.com · Java Server Faces 2.0 Rich Faces 4.0 DEPARTAMENTO DE INFORMÁTICA -DI Bruno Garcia Vasconcelos Desenvolvedor de Sistemas](https://reader030.vdocuments.mx/reader030/viewer/2022021715/5c66c05a09d3f230488ca575/html5/thumbnails/20.jpg)
JSF 2.0: Regras de Navegação
![Page 21: Java Server Faces 2 - brunovasconcelos.files.wordpress.com · Java Server Faces 2.0 Rich Faces 4.0 DEPARTAMENTO DE INFORMÁTICA -DI Bruno Garcia Vasconcelos Desenvolvedor de Sistemas](https://reader030.vdocuments.mx/reader030/viewer/2022021715/5c66c05a09d3f230488ca575/html5/thumbnails/21.jpg)
JSF 2.0: Injeção de Dependência
� A injeção de dependência no bean gerenciável é feita através de EL no valor da anotação @ManagedProperty.
� Com a injeção de dependência, o clienteBean não precisa se preocupar em criar uma nova instância de
LocalidadeCliente e gerenciá-la; basta utilizá-la quando necessário.
![Page 22: Java Server Faces 2 - brunovasconcelos.files.wordpress.com · Java Server Faces 2.0 Rich Faces 4.0 DEPARTAMENTO DE INFORMÁTICA -DI Bruno Garcia Vasconcelos Desenvolvedor de Sistemas](https://reader030.vdocuments.mx/reader030/viewer/2022021715/5c66c05a09d3f230488ca575/html5/thumbnails/22.jpg)
JSF 2.0: Componente Select ItemOutra novidade do JSF 2 é que agora podemos utilizar o componente f:selectItems, sem a necessidade de criar
uma lista ou um array de SelectItem no bean gerenciável, implementação obrigatória nas versões anteriores.
![Page 23: Java Server Faces 2 - brunovasconcelos.files.wordpress.com · Java Server Faces 2.0 Rich Faces 4.0 DEPARTAMENTO DE INFORMÁTICA -DI Bruno Garcia Vasconcelos Desenvolvedor de Sistemas](https://reader030.vdocuments.mx/reader030/viewer/2022021715/5c66c05a09d3f230488ca575/html5/thumbnails/23.jpg)
Rich Faces 4.0: Componentes
![Page 24: Java Server Faces 2 - brunovasconcelos.files.wordpress.com · Java Server Faces 2.0 Rich Faces 4.0 DEPARTAMENTO DE INFORMÁTICA -DI Bruno Garcia Vasconcelos Desenvolvedor de Sistemas](https://reader030.vdocuments.mx/reader030/viewer/2022021715/5c66c05a09d3f230488ca575/html5/thumbnails/24.jpg)
Rich Faces 4.0: Componentes
![Page 25: Java Server Faces 2 - brunovasconcelos.files.wordpress.com · Java Server Faces 2.0 Rich Faces 4.0 DEPARTAMENTO DE INFORMÁTICA -DI Bruno Garcia Vasconcelos Desenvolvedor de Sistemas](https://reader030.vdocuments.mx/reader030/viewer/2022021715/5c66c05a09d3f230488ca575/html5/thumbnails/25.jpg)
Rich Faces 4.0: Componentes
![Page 26: Java Server Faces 2 - brunovasconcelos.files.wordpress.com · Java Server Faces 2.0 Rich Faces 4.0 DEPARTAMENTO DE INFORMÁTICA -DI Bruno Garcia Vasconcelos Desenvolvedor de Sistemas](https://reader030.vdocuments.mx/reader030/viewer/2022021715/5c66c05a09d3f230488ca575/html5/thumbnails/26.jpg)
Rich Faces 4.0: Componentes
![Page 27: Java Server Faces 2 - brunovasconcelos.files.wordpress.com · Java Server Faces 2.0 Rich Faces 4.0 DEPARTAMENTO DE INFORMÁTICA -DI Bruno Garcia Vasconcelos Desenvolvedor de Sistemas](https://reader030.vdocuments.mx/reader030/viewer/2022021715/5c66c05a09d3f230488ca575/html5/thumbnails/27.jpg)
Rich Faces 4.0: Componentes
![Page 28: Java Server Faces 2 - brunovasconcelos.files.wordpress.com · Java Server Faces 2.0 Rich Faces 4.0 DEPARTAMENTO DE INFORMÁTICA -DI Bruno Garcia Vasconcelos Desenvolvedor de Sistemas](https://reader030.vdocuments.mx/reader030/viewer/2022021715/5c66c05a09d3f230488ca575/html5/thumbnails/28.jpg)
Rich Faces 4.0: Componentes
![Page 29: Java Server Faces 2 - brunovasconcelos.files.wordpress.com · Java Server Faces 2.0 Rich Faces 4.0 DEPARTAMENTO DE INFORMÁTICA -DI Bruno Garcia Vasconcelos Desenvolvedor de Sistemas](https://reader030.vdocuments.mx/reader030/viewer/2022021715/5c66c05a09d3f230488ca575/html5/thumbnails/29.jpg)
Rich Faces x Prime Faces x Ice Faces
� http://www.patternizando.com.br/2011/04/jsf-2-0-comparacao-de-desempenho-icefaces-primefaces-e-richfaces
Com apenas 3 anos de vida o framework para JSF PrimeFaces já tem mais popularidade do que os concorrentes
famosos RichFaces e Icefaces.
Criados em 2007, tanto o IceFaces quanto o RichFaces foram superados pelo framework turco e com grande
participação Brasileira.
A popularidade foi medida por meio do Google Trends que exibe as características das buscas realizadas através das
ferramentas do Google.
Algo muito interessante é que as pesquisas em lingua portuguesa sobre o PrimeFaces superam inglês e alemão.
O Prime Faces apresentou a melhor implementação para Data Table. Ice Faces demonstrou ter a pior performance com
a Data Table de todos os componentes testados. Rich Faces ficou entre os dois, porém próximo ao Prime Faces.
� http://www.patternizando.com.br/2011/05/primefaces-supera-richfaces-e-icefaces-segundo-google-trends
Comparação de Desempenho Icefaces, Primefaces e RichFaces
Artigo foi escrito utilizando um componente dataTable, presente nos três frameworks. Os parâmetros analisados foram
focados em desempenho e eficiência, ou seja: tamanho final da página, tamanho das requisições/respostas AJAX e
sobrecarga do servidor. Não foram consideradas configurações adicionais de tunning.
![Page 30: Java Server Faces 2 - brunovasconcelos.files.wordpress.com · Java Server Faces 2.0 Rich Faces 4.0 DEPARTAMENTO DE INFORMÁTICA -DI Bruno Garcia Vasconcelos Desenvolvedor de Sistemas](https://reader030.vdocuments.mx/reader030/viewer/2022021715/5c66c05a09d3f230488ca575/html5/thumbnails/30.jpg)
Referências e Links
� http://javaserverfaces.java.net
� http://www.coreservlets.com/JSF-Tutorial/jsf2
� http://www.jboss.org/richfaces/download/stable
� https://community.jboss.org/wiki/RichFacesMigrationGuide33x-4xMigration
� http://blog.gilliard.eti.br/2009/05/implicit-navigation-jsf-2
� http://www.k19.com.br/downloads/apostilas-java/k19-k12-desenvolvimento-web-com-jsf2-e-jpa2
� http://www.caelum.com.br/download/caelum-java-web-fj21.pdf
� http://www.venturus.org.br/wp-content/themes/newera/artigo/anotacoes-navegacao-JSF.pdf
� http://mkblog.exadel.com/2009/08/learning-jsf2-managed-beans
� http://andyschwartz.wordpress.com/2009/07/31/whats-new-in-jsf-2