java server faces 2 & rich faces 4

30
Java Server Faces 2.0 Rich Faces 4.0 DEPARTAMENTO DE INFORMÁTICA - DI Bruno Garcia Vasconcelos Desenvolvedor de Sistemas [email protected] http://brunovasconcelos.wordpress.com Quais as novidades e alterações nas novas versões das tecnologias? Pablo Bruno de Moura Nóbrega Analista de Sistemas [email protected] http://pablonobrega.wordpress.com

Upload: bruno-garcia

Post on 22-May-2015

3.989 views

Category:

Documents


0 download

DESCRIPTION

Java Server Faces 2.0 e Rich Faces 4.0. Quais as novidades e alterações nas novas versões das tecnologias?

TRANSCRIPT

Page 1: Java Server Faces 2 & Rich Faces 4

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 & Rich Faces 4

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 & Rich Faces 4

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 & Rich Faces 4

JSF 2.0: BibliotecasVersão - 2.1.7Versão - 1.2

Page 5: Java Server Faces 2 & Rich Faces 4

JSF 2.0: Configurações Versão - 1.2

Versão - 2.1.7

Page 6: Java Server Faces 2 & Rich Faces 4

Rich Faces 4.0: Bibliotecas

Page 7: Java Server Faces 2 & Rich Faces 4

Rich Faces 4.0: BibliotecasVersão - 4.2.0Versão - 3.3.X

Page 8: Java Server Faces 2 & Rich Faces 4

Rich Faces 4.0: ConfiguraçõesVersão - 4.2.0Versão - 3.3.X

Page 9: Java Server Faces 2 & Rich Faces 4

Rich Faces 4.0: Configurações

Page 10: Java Server Faces 2 & Rich Faces 4

JSF 2.0: Managed Beans

Versão - 2.1.7

Versão - 1.2

Page 11: Java Server Faces 2 & Rich Faces 4

JSF 2.0: Managed Beans >> Escopos

Page 12: Java Server Faces 2 & Rich Faces 4

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 & Rich Faces 4

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 & Rich Faces 4

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 & Rich Faces 4

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 & Rich Faces 4

JSF 2.0: Validação de Beans

Page 17: Java Server Faces 2 & Rich Faces 4

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 & Rich Faces 4

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 & Rich Faces 4

JSF 2.0: Regras de Navegação

Page 20: Java Server Faces 2 & Rich Faces 4

JSF 2.0: Regras de Navegação

Page 21: Java Server Faces 2 & Rich Faces 4

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 & Rich Faces 4

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 & Rich Faces 4

Rich Faces 4.0: Componentes

Page 24: Java Server Faces 2 & Rich Faces 4

Rich Faces 4.0: Componentes

Page 25: Java Server Faces 2 & Rich Faces 4

Rich Faces 4.0: Componentes

Page 26: Java Server Faces 2 & Rich Faces 4

Rich Faces 4.0: Componentes

Page 27: Java Server Faces 2 & Rich Faces 4

Rich Faces 4.0: Componentes

Page 28: Java Server Faces 2 & Rich Faces 4

Rich Faces 4.0: Componentes

Page 29: Java Server Faces 2 & Rich Faces 4

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 & Rich Faces 4

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