25
Instituto Federal de Educação, Ciência e Tecnologia Sul-Rio-Grandense Campus Sapucaia do Sul © 2015 Instituto Federal de Educação, Ciência e Tecnologia Sul-Rio-Grandense Campus Sapucaia do Sul JSF e PrimeFaces Professor: Ricardo Luis dos Santos IFSUL – Campus Sapucaia do Sul

JSF e PrimeFaces - Ricardo Luis dos Santos · •Fácil manutenção 5 ... •Exemplos de frameworks Web Java que utilizam o padrão MVC •Struts •Spring MVC •VRaptor •JSF

  • Upload
    dodang

  • View
    230

  • Download
    1

Embed Size (px)

Citation preview

Page 1: JSF e PrimeFaces - Ricardo Luis dos Santos · •Fácil manutenção 5 ... •Exemplos de frameworks Web Java que utilizam o padrão MVC •Struts •Spring MVC •VRaptor •JSF

Instituto Federal de Educação, Ciência e Tecnologia Sul-Rio-GrandenseCampus Sapucaia do Sul

© 2015 Instituto Federal de Educação, Ciência e Tecnologia Sul-Rio-Grandense

Campus Sapucaia do Sul

JSF e PrimeFacesProfessor: Ricardo Luis dos Santos

IFSUL – Campus Sapucaia do Sul

Page 2: JSF e PrimeFaces - Ricardo Luis dos Santos · •Fácil manutenção 5 ... •Exemplos de frameworks Web Java que utilizam o padrão MVC •Struts •Spring MVC •VRaptor •JSF

Instituto Federal de Educação, Ciência e Tecnologia Sul-Rio-GrandenseCampus Sapucaia do Sul

• Introdução

• Desenvolvimento Web

• Java Server Faces

• Exercício

2

Agenda

Page 3: JSF e PrimeFaces - Ricardo Luis dos Santos · •Fácil manutenção 5 ... •Exemplos de frameworks Web Java que utilizam o padrão MVC •Struts •Spring MVC •VRaptor •JSF

Instituto Federal de Educação, Ciência e Tecnologia Sul-Rio-GrandenseCampus Sapucaia do Sul

• Ao longo dos anos diversas linguagens de programação foram criadas e milhares de aplicações foram implementadas em cada uma destas

• Na década de 90 o padrão de desenvolvimento era o de aplicações desktop

3

Introdução

Page 4: JSF e PrimeFaces - Ricardo Luis dos Santos · •Fácil manutenção 5 ... •Exemplos de frameworks Web Java que utilizam o padrão MVC •Struts •Spring MVC •VRaptor •JSF

Instituto Federal de Educação, Ciência e Tecnologia Sul-Rio-GrandenseCampus Sapucaia do Sul

• Cada cliente possui uma cópia integral da aplicação, isto dificulta a atualização

• Como a aplicação roda no computador do cliente, a depuração é difícil, pois não há acesso ilimitado

• Em geral, problemas de manutenção e gerenciabilidade

4

Introdução

Page 5: JSF e PrimeFaces - Ricardo Luis dos Santos · •Fácil manutenção 5 ... •Exemplos de frameworks Web Java que utilizam o padrão MVC •Struts •Spring MVC •VRaptor •JSF

Instituto Federal de Educação, Ciência e Tecnologia Sul-Rio-GrandenseCampus Sapucaia do Sul

• Com a evolução da Internet e dos padrões para Web (protocolo http e browsers) surgiram as aplicações Web

• Clientes simples e leves

• Utilizam tecnologias bem padronizadas

• Fácil atualização

• Fácil manutenção

5

Introdução

Page 6: JSF e PrimeFaces - Ricardo Luis dos Santos · •Fácil manutenção 5 ... •Exemplos de frameworks Web Java que utilizam o padrão MVC •Struts •Spring MVC •VRaptor •JSF

Instituto Federal de Educação, Ciência e Tecnologia Sul-Rio-GrandenseCampus Sapucaia do Sul

6

Desenvolvimento Web

Page 7: JSF e PrimeFaces - Ricardo Luis dos Santos · •Fácil manutenção 5 ... •Exemplos de frameworks Web Java que utilizam o padrão MVC •Struts •Spring MVC •VRaptor •JSF

Instituto Federal de Educação, Ciência e Tecnologia Sul-Rio-GrandenseCampus Sapucaia do Sul

7

Desenvolvimento Web

• Java Server Pages

• Construído acima da tecnologia Servlets, capacita os desenvolvedores Web a editar paginas HTML com tagsespeciais para as porções dinâmicas escritas em Java

• Scriptlet é o código escrito entre <% e %>. Esse nome é composto da palavra script (pedaço de código) com o sufixo let, que indica algo pequeno

Page 8: JSF e PrimeFaces - Ricardo Luis dos Santos · •Fácil manutenção 5 ... •Exemplos de frameworks Web Java que utilizam o padrão MVC •Struts •Spring MVC •VRaptor •JSF

Instituto Federal de Educação, Ciência e Tecnologia Sul-Rio-GrandenseCampus Sapucaia do Sul

8

Desenvolvimento Web

• Padrão MVC

• Padrão arquitetural que separa a interação que o usuário faz com a informação da representação desta informação

• Model armazena dados e notifica os controllers associados quando há uma mudança em seu estado

• View gera uma representaçãodos dados presentes no modelosolicitado

• Controller envia comandos para omodel para persistir objetos e comandos para a view para alterar a apresentação da informação

Page 9: JSF e PrimeFaces - Ricardo Luis dos Santos · •Fácil manutenção 5 ... •Exemplos de frameworks Web Java que utilizam o padrão MVC •Struts •Spring MVC •VRaptor •JSF

Instituto Federal de Educação, Ciência e Tecnologia Sul-Rio-GrandenseCampus Sapucaia do Sul

9

Desenvolvimento Web

• Padrão MVC

• Exemplos de frameworks Web Java que utilizam o padrão MVC

• Struts

• Spring MVC

• VRaptor

• JSF

Page 10: JSF e PrimeFaces - Ricardo Luis dos Santos · •Fácil manutenção 5 ... •Exemplos de frameworks Web Java que utilizam o padrão MVC •Struts •Spring MVC •VRaptor •JSF

Instituto Federal de Educação, Ciência e Tecnologia Sul-Rio-GrandenseCampus Sapucaia do Sul

10

Java Server Faces

• JSF é uma tecnologia que permite criar aplicações Java para Web utilizando componentes visuais

• O desenvolvedor não precisa se preocupar com Javascript e HTML

• Especificação do Java Enterprise Edition (JEE)

• Isso significa que existe uma padronização na forma como esta tecnologia deve ser implementada

• Todos os frameworks baseados nela funcionam de forma parecida

Page 11: JSF e PrimeFaces - Ricardo Luis dos Santos · •Fácil manutenção 5 ... •Exemplos de frameworks Web Java que utilizam o padrão MVC •Struts •Spring MVC •VRaptor •JSF

Instituto Federal de Educação, Ciência e Tecnologia Sul-Rio-GrandenseCampus Sapucaia do Sul

11

Java Server Faces

• Diversos componentes para podermos utilizar

Page 12: JSF e PrimeFaces - Ricardo Luis dos Santos · •Fácil manutenção 5 ... •Exemplos de frameworks Web Java que utilizam o padrão MVC •Struts •Spring MVC •VRaptor •JSF

Instituto Federal de Educação, Ciência e Tecnologia Sul-Rio-GrandenseCampus Sapucaia do Sul

• Model

• Podemos utilizar as anotações do JPA vistas na disciplina

• Pojos simples e leves

12

Java Server Faces

Page 13: JSF e PrimeFaces - Ricardo Luis dos Santos · •Fácil manutenção 5 ... •Exemplos de frameworks Web Java que utilizam o padrão MVC •Struts •Spring MVC •VRaptor •JSF

Instituto Federal de Educação, Ciência e Tecnologia Sul-Rio-GrandenseCampus Sapucaia do Sul

• Managed Bean (Controller)

• Define a lógica da aplicação Web

• Nele implementaremos métodos para navegação entre páginas, bem como métodos para a interação com os models

13

Java Server Faces

Page 14: JSF e PrimeFaces - Ricardo Luis dos Santos · •Fácil manutenção 5 ... •Exemplos de frameworks Web Java que utilizam o padrão MVC •Struts •Spring MVC •VRaptor •JSF

Instituto Federal de Educação, Ciência e Tecnologia Sul-Rio-GrandenseCampus Sapucaia do Sul

• Managed Bean (Controller)

• @ManagedBean

• Define que uma classe será um bean gerenciado, ou seja, um controller da nossa aplicação Web

• O atributo name dessa anotação define como este bean será referenciado dentro das paginas JSF

• Caso não seja definido, este mesmo bean será referenciado usando o nome da classe, com a primeira letra em minúsculo

14

Java Server Faces

Page 15: JSF e PrimeFaces - Ricardo Luis dos Santos · •Fácil manutenção 5 ... •Exemplos de frameworks Web Java que utilizam o padrão MVC •Struts •Spring MVC •VRaptor •JSF

Instituto Federal de Educação, Ciência e Tecnologia Sul-Rio-GrandenseCampus Sapucaia do Sul

• Escopo de um Managed Bean (Controller)

• Define o tempo que uma instância do Managed Beansobrevive durante a execução da aplicação Web

• Define o seu ciclo de vida

• Momento em que é inicializado e o momento em que ele deixa de existir

• @RequestScoped

• O managed bean permanece vivo (visível) durante o tempo de vida de uma requisição HTTP. Criado no início da requisição HTTP e destruído quando a resposta HTTP associada a requisição for encerrada

15

Java Server Faces

Page 16: JSF e PrimeFaces - Ricardo Luis dos Santos · •Fácil manutenção 5 ... •Exemplos de frameworks Web Java que utilizam o padrão MVC •Struts •Spring MVC •VRaptor •JSF

Instituto Federal de Educação, Ciência e Tecnologia Sul-Rio-GrandenseCampus Sapucaia do Sul

• Escopo de um Managed Bean (Controller)

• @SessionScoped

• O managed bean vive durante o tempo em que a sessão HTTP durar. É criada na primeira requisição HTTP e destruída quando a sessão HTTP for invalidada

• @ViewScoped

• O managed bean permanece vivo enquanto o usuário interagir com a mesma pagina JSF na janela/aba do navegador web. O bean é criado durante uma requisição HTTP e destruído quando o usuário mudar de pagina JSF

16

Java Server Faces

Page 17: JSF e PrimeFaces - Ricardo Luis dos Santos · •Fácil manutenção 5 ... •Exemplos de frameworks Web Java que utilizam o padrão MVC •Struts •Spring MVC •VRaptor •JSF

Instituto Federal de Educação, Ciência e Tecnologia Sul-Rio-GrandenseCampus Sapucaia do Sul

• Escopo de um Managed Bean (Controller)

• @ApplicationScoped

• O managed bean vive enquanto a aplicação Web durar. É criado durante a primeira requisição HTTP que fizer menção a este beansendo destruído quando a aplicação Web for encerrada

• @NoneScoped

• O managed bean vive apenas durante o perodo de avaliação de uma EL (Expression Language)

17

Java Server Faces

Page 18: JSF e PrimeFaces - Ricardo Luis dos Santos · •Fácil manutenção 5 ... •Exemplos de frameworks Web Java que utilizam o padrão MVC •Struts •Spring MVC •VRaptor •JSF

Instituto Federal de Educação, Ciência e Tecnologia Sul-Rio-GrandenseCampus Sapucaia do Sul

• View

• Expression Language

• Fornecem um mecanismo importante para habilitar a camada de apresentação (páginas Web) a se comunicar com a lógica da aplicação (managed beans)

18

Java Server Faces

Page 19: JSF e PrimeFaces - Ricardo Luis dos Santos · •Fácil manutenção 5 ... •Exemplos de frameworks Web Java que utilizam o padrão MVC •Struts •Spring MVC •VRaptor •JSF

Instituto Federal de Educação, Ciência e Tecnologia Sul-Rio-GrandenseCampus Sapucaia do Sul

• View

• Expression Language

• Avaliação Tardia #{}

• São mais comuns e podem ser utilizadas em todas as outras fases do ciclo de vida da página JSF

• Avaliação imediata ${}

• São avaliadas imediatamente. Estas expressões podem ser utilizadas apenas com templates ou com o valores de atributos de tags que aceitam valores de expressões em tempo de execução

<fmt:formatNumber value=“${sessionScope.cart.total}"/>

19

Java Server Faces

Page 20: JSF e PrimeFaces - Ricardo Luis dos Santos · •Fácil manutenção 5 ... •Exemplos de frameworks Web Java que utilizam o padrão MVC •Struts •Spring MVC •VRaptor •JSF

Instituto Federal de Educação, Ciência e Tecnologia Sul-Rio-GrandenseCampus Sapucaia do Sul

• Navegação

• Componentes como CommandButton e CommandLink do JSF são utilizados para realizar ações, como submeter um formulário e navegar para outra página

• Os métodos devem ser implementados no bean e devem retornar um string contendo a view que será utilizada

20

Java Server Faces

Page 21: JSF e PrimeFaces - Ricardo Luis dos Santos · •Fácil manutenção 5 ... •Exemplos de frameworks Web Java que utilizam o padrão MVC •Struts •Spring MVC •VRaptor •JSF

Instituto Federal de Educação, Ciência e Tecnologia Sul-Rio-GrandenseCampus Sapucaia do Sul

• Navegação

• Componentes como CommandButton e CommandLink do JSF são utilizados para realizar ações, como submeter um formulário e navegar para outra página

• Os métodos devem ser implementados no bean e devem retornar um string contendo a view que será utilizada

21

Java Server Faces

Page 22: JSF e PrimeFaces - Ricardo Luis dos Santos · •Fácil manutenção 5 ... •Exemplos de frameworks Web Java que utilizam o padrão MVC •Struts •Spring MVC •VRaptor •JSF

Instituto Federal de Educação, Ciência e Tecnologia Sul-Rio-GrandenseCampus Sapucaia do Sul

• Temas do PrimeFaces

• Possibilita alterar rapidamente cores e algumas características do CSS manipulado pelo framework

• Existem diversos temas alguns gratuitos e outros pagos, observar no site do primefaces as opções disponíveis

22

Java Server Faces

Page 23: JSF e PrimeFaces - Ricardo Luis dos Santos · •Fácil manutenção 5 ... •Exemplos de frameworks Web Java que utilizam o padrão MVC •Struts •Spring MVC •VRaptor •JSF

Instituto Federal de Educação, Ciência e Tecnologia Sul-Rio-GrandenseCampus Sapucaia do Sul

• Vamos a um pequeno exemplo prático

• Projeto disponível no site www.ricardoluis.com

• Observar e comentar o model, o bean e as views criadas

• Observar as features disponíveis

• Centenas de componentes estão disponíveis, bem como, a documentação sobre tais componentes no site http://www.primefaces.org/showcase/

23

Java Server Faces

Page 24: JSF e PrimeFaces - Ricardo Luis dos Santos · •Fácil manutenção 5 ... •Exemplos de frameworks Web Java que utilizam o padrão MVC •Struts •Spring MVC •VRaptor •JSF

Instituto Federal de Educação, Ciência e Tecnologia Sul-Rio-GrandenseCampus Sapucaia do Sul

• Implementar um modelo, um bean e as viewsnecessárias para

• Listar os fretes cadastrados

• Cadastrar um novo frete

• Excluir um determinado frete

• Editar um frete

• Utilize diferentes componentes e temas observados no site http://www.primefaces.org/showcase/

24

Exercício

- Id: Long

- estado: String

- valor: Int

- peso: Float

Fretes

Page 25: JSF e PrimeFaces - Ricardo Luis dos Santos · •Fácil manutenção 5 ... •Exemplos de frameworks Web Java que utilizam o padrão MVC •Struts •Spring MVC •VRaptor •JSF

Perguntas?