JSF e PrimeFaces - Ricardo Luis dos Santos

Propaganda
JSF e PrimeFaces
Professor: Ricardo Luis dos Santos
IFSUL – Campus Sapucaia do Sul
© 2015 Instituto Federal de Educação, Ciência e Tecnologia Sul-Rio-Grandense
Instituto Federal de Educação, Ciência e Tecnologia Sul-Rio-Grandense
Campus Sapucaia do Sul
Campus Sapucaia do Sul
Agenda
•
Introdução
•
Desenvolvimento Web
•
Java Server Faces
•
Exercício
2
Instituto Federal de Educação, Ciência e Tecnologia Sul-Rio-Grandense
Campus Sapucaia do Sul
Introdução
•
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
Instituto Federal de Educação, Ciência e Tecnologia Sul-Rio-Grandense
Campus Sapucaia do Sul
Introdução
•
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
Instituto Federal de Educação, Ciência e Tecnologia Sul-Rio-Grandense
Campus Sapucaia do Sul
Introdução
•
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
Instituto Federal de Educação, Ciência e Tecnologia Sul-Rio-Grandense
Campus Sapucaia do Sul
Desenvolvimento Web
6
Instituto Federal de Educação, Ciência e Tecnologia Sul-Rio-Grandense
Campus Sapucaia do Sul
Desenvolvimento Web
•
Java Server Pages
• Construído acima da tecnologia Servlets, capacita os
desenvolvedores Web a editar paginas HTML com tags
especiais 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
7
Instituto Federal de Educação, Ciência e Tecnologia Sul-Rio-Grandense
Campus Sapucaia do Sul
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ção
dos dados presentes no modelo
solicitado
• Controller envia comandos para o
model para persistir objetos e
comandos para a view para
alterar a apresentação da
informação
8
Instituto Federal de Educação, Ciência e Tecnologia Sul-Rio-Grandense
Campus Sapucaia do Sul
Desenvolvimento Web
•
Padrão MVC
• Exemplos de frameworks Web Java que utilizam o padrão
MVC
•
•
•
•
9
Struts
Spring MVC
VRaptor
JSF
Instituto Federal de Educação, Ciência e Tecnologia Sul-Rio-Grandense
Campus Sapucaia do Sul
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
10
Instituto Federal de Educação, Ciência e Tecnologia Sul-Rio-Grandense
Campus Sapucaia do Sul
Java Server Faces
•
11
Diversos componentes para podermos utilizar
Instituto Federal de Educação, Ciência e Tecnologia Sul-Rio-Grandense
Campus Sapucaia do Sul
Java Server Faces
•
Model
• Podemos utilizar as anotações do JPA vistas na disciplina
• Pojos simples e leves
12
Instituto Federal de Educação, Ciência e Tecnologia Sul-Rio-Grandense
Campus Sapucaia do Sul
Java Server Faces
•
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
Instituto Federal de Educação, Ciência e Tecnologia Sul-Rio-Grandense
Campus Sapucaia do Sul
Java Server Faces
•
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
Instituto Federal de Educação, Ciência e Tecnologia Sul-Rio-Grandense
Campus Sapucaia do Sul
Java Server Faces
•
Escopo de um Managed Bean (Controller)
• Define o tempo que uma instância do Managed Bean
sobrevive 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
Instituto Federal de Educação, Ciência e Tecnologia Sul-Rio-Grandense
Campus Sapucaia do Sul
Java Server Faces
•
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
Instituto Federal de Educação, Ciência e Tecnologia Sul-Rio-Grandense
Campus Sapucaia do Sul
Java Server Faces
•
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 bean
sendo 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
Instituto Federal de Educação, Ciência e Tecnologia Sul-Rio-Grandense
Campus Sapucaia do Sul
Java Server Faces
•
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
Instituto Federal de Educação, Ciência e Tecnologia Sul-Rio-Grandense
Campus Sapucaia do Sul
Java Server Faces
•
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
Instituto Federal de Educação, Ciência e Tecnologia Sul-Rio-Grandense
Campus Sapucaia do Sul
Java Server Faces
•
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
Instituto Federal de Educação, Ciência e Tecnologia Sul-Rio-Grandense
Campus Sapucaia do Sul
Java Server Faces
•
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
Instituto Federal de Educação, Ciência e Tecnologia Sul-Rio-Grandense
Campus Sapucaia do Sul
Java Server Faces
•
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
Instituto Federal de Educação, Ciência e Tecnologia Sul-Rio-Grandense
Campus Sapucaia do Sul
Java Server Faces
•
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
Instituto Federal de Educação, Ciência e Tecnologia Sul-Rio-Grandense
Campus Sapucaia do Sul
Exercício
•
Implementar um modelo, um bean e as views
necessá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/
Fretes
-
24
Id: Long
estado: String
valor: Int
peso: Float
Instituto Federal de Educação, Ciência e Tecnologia Sul-Rio-Grandense
Campus Sapucaia do Sul
Perguntas?
Download