Apresentação jsf 2.0

527 views

Published on

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
527
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
17
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Apresentação jsf 2.0

  1. 1. Camada de Apresentação com Java Server Faces 2.0Bruno Nascimento, Paulo Neto, Kawe Ramon
  2. 2. Java EEO Java EE (Java Enterprise Edition) consiste de uma série de especificações bem detalhadas, dando uma receita de como deve ser implementado um software que atenda a todos os requisitos de infraestrutura estabelecidos.
  3. 3. Java EE•É uma plataforma de programação para servidores em Java•Era inicialmente conhecida por J2EE•Atualmente está na versão 6
  4. 4. ALGUMAS ESPECIFICAÇÕES DO JAVA EE•Java Server Pages (JSP), Java Servlets, Java Server Faces (JSF)•Enterprise Javabeans Components (EJB) e Java Persistence API (JPA)•Java Transaction API (JTA)•Java Message Service (JMS)
  5. 5. O que é Java Server Faces?Principais VANTAGENS:• Complexas Interfaces = Simples Componentes;• Manipulação de eventos simplificada;• Validação e Conversão na própria View;
  6. 6. O que é Java Server Faces?Principais DESVANTAGENS:• Falta de Transparência;• As requisições estarem amarradas ao método POST, não sendo possível usar GET, PUT, DELETE .
  7. 7. Histórico do JSF• JSF 1.0 (11 Março 2004) - Lançamento Inicial;• JSF 1.1(27 Maio 2004) - Melhorias no Desempenho;• JSF 1.2 (11 Maio 2006) - Suporta a Servlet 2.3 3 JSP, EL, Suporte a Ajax, configurações XML e novas
  8. 8. JSF – Java Server Faces•O Java Server Faces é o framework Web mais usado em aplicações Web complexas em Java.•JSF é uma tecnologia da camada de apresentação
  9. 9. JSF – Java Server Faces• Sua arquitetura de componentes aliada a integração com outras ferramentas do mercado Java EE fazem o sucesso dessa especificação.• E com sua última versão 2.0, o JSF ganhou mais simplicidade e produtividade.
  10. 10. Tags JSF CoreA biblioteca de tags JSF Core contém elementos action que representam artefatos JSF que são independentes da linguagem de marcação, tais como conversores e validadores.
  11. 11. Tags JSF CoreEsta biblioteca é importada para suas páginas xhtml por meio da seguinte declaração: <html xmlns="http://www.w3.org/1999/xhtml" xmlns:c="http://java.sun.com/jstl/core" xmlns:f="http://java.sun.com/jsf/core" xmlns:h="http://java.sun.com/jsf/html" xmlns:ui="http://java.sun.com/jsf/facelets">
  12. 12. Tags JSF Core
  13. 13. Ciclo de Vida de uma requisiçãoJSF
  14. 14. Restore View• Recupera a visão de acordo com a URL• Se for uma chamada inicial, apenas cria um componente UIViewRoot e repassa à fase 6• Sendo uma chamada subsequente, carrega o UIViewRoot existente e repassa para a fase 2.
  15. 15. Apply Request Values• Carrega parâmetros, cookies e cabeçalhos HTTP nos componentes da view escolhida na etapa anterior• Realiza a conversão e validação de objetos UIIunput marcados como immediate• Requisições disparadas por campos immediate são desviadas para a fase 6.
  16. 16. Process Validations• Realiza as validações dos campos UIInput• Em caso de falhas de validação de algum campo, a mensagem será adicionada ao objeto FacesContext e o fluxo será desviado para a fase 6• Os valores são avaliados de acordo com as regras de validação da aplicação
  17. 17. Update Model Values• Nesta fase, todos os dados da entrada são considerados válidos• Atualiza o managed bean com os valores dos componentes da view chamando conversores quando necessário• Se houver alguma falha na conversão de algum valor, o fluxo será desviado para a etapa 6
  18. 18. Invoke Application• Fase onde o método referente ao action de um UICommand é executado• Se retornar uma string esta será considerada o nome de alguma view a ser renderizada• Se retornar void, a view solicitada será renderizada• O valor do componente sempre será convertido, validado e aplicado aos objetos de modelo
  19. 19. Render Response• Renderiza a view escolhida pelo usuário ou retornada na fase 5• Salva o estado da UIViewRoot associada à view• Se alguns componentes da página tem seu atributo setado como immediate, então as validações, conversões e eventos associados a estes componentes serão processados
  20. 20. Managed Beans• Classe que expõe objetos de negócio para a camada de apresentação• São registrados no faces.config.xml• Objetos que sofrerão alterações em seus atributos durante uma requisição.• Serão utilizados na camada de apresentação através da Expression Language• Form Beans são injetados por setters dentro do seu próprio Bean
  21. 21. Expression Language• Poderosa linguagem de expressão (linguagem de navegação) para acessar propriedades dos beans e coleções• Quando ocorrer uma requisição pelo browser é preenchido dinamicamente pelos elementos da página pela camada de negócio• Quando a página for submetida, ocorre a modificação no estado da camada de negócio
  22. 22. Adicionando JSF 2.0 na camada de Apresentação com Spring RooPara exemplificar, vamos criar a Entidade Aluno com a seguinte estrutura:Assumindo que o projeto já esteja criado, e que as configurações de persistência já foram feitas, digite os seguintes comandos:entity jpa --class ~.modelo.Aluno --testAutomatically falsefield string --fieldName nome --notNullfield string --fieldName matricula --notNull
  23. 23. Adicionando JSF 2.0 na camada de Apresentação com Spring RooCom estes comandos, o Spring Roo irá gerar a seguinte classe:
  24. 24. Adicionando JSF 2.0 na camada de Apresentação com Spring RooCom a nossa Entidade definida, vamos agora adicionar o JSF 2.0 para a camada de Apresentação, digite os seguintes comandos:web jsf setup --implementation ORACLE_MOJARRA --library PRIMEFACES --theme VADERO comando web jsf setup pode ser executado tantas vezes quanto você quiser mudar a implementação JSF e o tema.O comando --implementation quando especificado, permite escolher asimplementações Mojarra Oracle ou Apache MyFaces JSF.
  25. 25. Adicionando JSF 2.0 na camada de Apresentação com Spring Rooweb jsf setup --implementation ORACLE_MOJARRA --library PRIMEFACES --theme VADERO comando --library tem apenas um valor selecionável, sendo PRIMEFACES.O comando --theme permite que você selecione um dos 30 temas PrimeFaces para sua interface.
  26. 26. Adicionando JSF 2.0 na camada de Apresentação com Spring RooComando:web jsf all --package ~.webO comando web jsf all cria os managed beans e conversores para todas as entidades do pacote especificado. A página XHTML também é criada no diretório src / main / webapp / diretório páginas para cada entidade.
  27. 27. Adicionando JSF 2.0 na camada de Apresentação com Spring RooPara executar com o servidor de aplicação Jetty, pelo terminal, vá até a raiz do projeto e digite:mvn jetty:run-exploded
  28. 28. Adicionando JSF 2.0 na camada de Apresentação com Spring RooQuando o servidor terminar de ser iniciado, no browser acesse o endereço:http://localhost:8080/NomeDaSuaAplicacao/
  29. 29. Adicionando JSF 2.0 na camada de Apresentação com Spring RooO que o Spring Roo fez?localhost:8080/ApresentacaoJSF

×