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
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
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.
JSF 2.0: Bibliotecas Versão - 1.2 Versão - 2.1.7
JSF 2.0: Configurações Versão - 1.2 Versão - 2.1.7
Rich Faces 4.0: Bibliotecas
Rich Faces 4.0: Bibliotecas Versão - 3.3.X Versão - 4.2.0
Rich Faces 4.0: Configurações Versão - 3.3.X Versão - 4.2.0
Rich Faces 4.0: Configurações
JSF 2.0: Managed Beans Versão - 1.2 Versão - 2.1.7
JSF 2.0: Managed Beans >> Escopos
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
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
JSF 2.0: Validators Para facilitar o desenvolvimento de uma aplicação, o JSF define um conjunto de validadores padrão.
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.
JSF 2.0: Validação de Beans
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.
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>
JSF 2.0: Regras de Navegação
JSF 2.0: Regras de Navegação
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.
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.
Rich Faces 4.0: Componentes
Rich Faces 4.0: Componentes
Rich Faces 4.0: Componentes
Rich Faces 4.0: Componentes
Rich Faces 4.0: Componentes
Rich Faces 4.0: Componentes
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
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

Java Server Faces 2 & Rich Faces 4

  • 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çõesIniciais 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.
  • 4.
    JSF 2.0: Bibliotecas Versão - 1.2 Versão - 2.1.7
  • 5.
    JSF 2.0: Configurações Versão - 1.2 Versão - 2.1.7
  • 6.
    Rich Faces 4.0:Bibliotecas
  • 7.
    Rich Faces 4.0:Bibliotecas Versão - 3.3.X Versão - 4.2.0
  • 8.
    Rich Faces 4.0:Configurações Versão - 3.3.X Versão - 4.2.0
  • 9.
    Rich Faces 4.0:Configurações
  • 10.
    JSF 2.0: ManagedBeans Versão - 1.2 Versão - 2.1.7
  • 11.
    JSF 2.0: ManagedBeans >> Escopos
  • 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 Parafacilitar o desenvolvimento de uma aplicação, o JSF define um conjunto de validadores padrão.
  • 15.
    JSF 2.0: Validaçãode 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.
  • 16.
  • 17.
    JSF 2.0: Mensagensde 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: Regrasde 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>
  • 19.
    JSF 2.0: Regrasde Navegação
  • 20.
    JSF 2.0: Regrasde Navegação
  • 21.
    JSF 2.0: Injeçãode 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: ComponenteSelect 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.
  • 23.
    Rich Faces 4.0:Componentes
  • 24.
    Rich Faces 4.0:Componentes
  • 25.
    Rich Faces 4.0:Componentes
  • 26.
    Rich Faces 4.0:Componentes
  • 27.
    Rich Faces 4.0:Componentes
  • 28.
    Rich Faces 4.0:Componentes
  • 29.
    Rich Faces xPrime 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
  • 30.
    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