1. DEPARTAMENTO DE INFORMÁTICA - DI
Java Server Faces 2.0
Rich Faces 4.0
Quais as novidades e alterações nas novas versões das tecnologias?
Pablo Bruno de Moura Nóbrega Bruno Garcia Vasconcelos
Analista de Sistemas Desenvolvedor de Sistemas
pablo.nobrega@uece.br bruno.garcia@uece.br
http://pablonobrega.wordpress.com http://brunovasconcelos.wordpress.com
2. 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
3. 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.
12. JSF 2.0: Converters
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.
Versão
2.1.7
13. JSF 2.0: Validators
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.
Versão Passando Parâmetros para o Validador
2.1.7
14. JSF 2.0: Validators
Para facilitar o desenvolvimento de uma aplicação, o JSF define um conjunto de validadores padrão.
15. JSF 2.0: Validação de Beans
Uma 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.
17. JSF 2.0: Mensagens de Erro
Podemos 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.
18. JSF 2.0: Regras de Navegação
Navegação explicita declarada em
faces.-config.xml
Outcome pode ser propriedade action de
Versão componente ou String retornada por
1.2 metodo de managed bean.
Quando uma action retorna uma
outcome, caso nenhuma regra de
navegação compatível seja
encontrada, funciona a
navegação implícita.
Versão
2.1.7
Navigation case com <if>
EL no <to-view-id>
21. JSF 2.0: Injeção de Dependência
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.
A injeção de dependência no bean gerenciável é feita através de EL no valor da anotação @ManagedProperty.
22. JSF 2.0: Componente Select Item
Outra 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.
29. Rich Faces x Prime Faces x Ice Faces
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.
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.
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/04/jsf-2-0-comparacao-de-desempenho-icefaces-primefaces-e-richfaces