1. Fundamentos
Java Server Faces
Metendo a M˜o na Massa
a
Entendendo um pouco mais o JSF
Referˆncias
e
Java Server Faces
Um breve bate-papo
Leandro Soriano Ferreira
Instituto Baiano de Ensino Superior
sfohart@gmail.com
19 de novembro de 2013
1 / 76
Leandro Soriano Ferreira
Java Server Faces - Bate Papo
2. Fundamentos
Java Server Faces
Metendo a M˜o na Massa
a
Entendendo um pouco mais o JSF
Referˆncias
e
Protocolo HTTP
Common Gateway Interface
Servlets
Java Server Pages
Outras Tecnologias
Protocolo HTTP
HTTP (HyperText Transfer Protocol - Protocolo de Transferˆncia
e
de HiperTexto) nada mais ´ do que um protocolo de transferˆncia
e
e
de p´ginas na Internet
a
2 / 76
Leandro Soriano Ferreira
Java Server Faces - Bate Papo
3. Fundamentos
Java Server Faces
Metendo a M˜o na Massa
a
Entendendo um pouco mais o JSF
Referˆncias
e
Protocolo HTTP
Common Gateway Interface
Servlets
Java Server Pages
Outras Tecnologias
Exemplo1 :
Host: www.google.com
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1;
pt-BR; rv:1.9.0.6) Gecko/2009011913
Firefox/3.0.6 (.NET CLR 3.5.30729)
Accept: text/html,application/xhtmlxml,
application/xml;q=0.9,*/*;q=0.8
Accept-Language: pt-br,pt;
q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;
q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
1
3 / 76
Andrade, Afinal, o que ´ HTTP?.
e
Leandro Soriano Ferreira
Java Server Faces - Bate Papo
4. Fundamentos
Java Server Faces
Metendo a M˜o na Massa
a
Entendendo um pouco mais o JSF
Referˆncias
e
Protocolo HTTP
Common Gateway Interface
Servlets
Java Server Pages
Outras Tecnologias
Exemplo2 :
Bom dia Google.com,
Gostaria de ler sua p´gina.
a
Estou usando o navegador Firefox na vers~o 3.0.6.
a
No momento eu aceito HTML.
Gostaria de receber o conte´do em portugu^s,
u
e
mas tamb´m entendo ingl^s.
e
e
Uso o padr~o de caracteres (letras) ISO-8859 e UTF-8.
a
2
4 / 76
Andrade, Afinal, o que ´ HTTP?.
e
Leandro Soriano Ferreira
Java Server Faces - Bate Papo
5. Fundamentos
Java Server Faces
Metendo a M˜o na Massa
a
Entendendo um pouco mais o JSF
Referˆncias
e
Protocolo HTTP
Common Gateway Interface
Servlets
Java Server Pages
Outras Tecnologias
Exemplo3 :
Location: http://www.google.com.br/
Cache-Control: private
Content-Type: text/html; charset=UTF-8
Date: Mon, 08 Feb 2009 22:00:00 GMT
Server: gws
Content-Length: 222
...
3
5 / 76
Andrade, Afinal, o que ´ HTTP?.
e
Leandro Soriano Ferreira
Java Server Faces - Bate Papo
6. Fundamentos
Java Server Faces
Metendo a M˜o na Massa
a
Entendendo um pouco mais o JSF
Referˆncias
e
Protocolo HTTP
Common Gateway Interface
Servlets
Java Server Pages
Outras Tecnologias
Exemplo4 :
Ol´,
a
Aqui ´ o Google.com.
e
Estou enviando a p´gina que pediu.
a
Voc^ pode guardar as informa¸~es em seu computador e
e
co
usa-las em outras visitas.
Estou enviando apenas texto e HTML como voc^ pediu.
e
Essa mensagem foi criada `s 22:00 horas do dia 08/02/2009
a
utilizando servidor GWS.
O conte´do ´ formado por 222 letras, segue:
u
e
...
4
6 / 76
Andrade, Afinal, o que ´ HTTP?.
e
Leandro Soriano Ferreira
Java Server Faces - Bate Papo
7. Fundamentos
Java Server Faces
Metendo a M˜o na Massa
a
Entendendo um pouco mais o JSF
Referˆncias
e
Protocolo HTTP
Common Gateway Interface
Servlets
Java Server Pages
Outras Tecnologias
CGI - Common Gateway Interface
M´todo utilizado nos anos 1990 para gerar conte´do dinˆmico
e
u
a
em p´ginas e aplica¸˜es Web. Normalmente eram criados
a
co
utilizando linguagens de script como o Perl, o Python, etc.
#!/usr/bin/perl
# hello.pl -- my first perl script!
print "Content-type: text/htmlnn";
print "Hello, world!n";
7 / 76
Leandro Soriano Ferreira
Java Server Faces - Bate Papo
8. Fundamentos
Java Server Faces
Metendo a M˜o na Massa
a
Entendendo um pouco mais o JSF
Referˆncias
e
Protocolo HTTP
Common Gateway Interface
Servlets
Java Server Pages
Outras Tecnologias
Tamb´m utilizado para gerar conte´do dinˆmico na web.
e
u
a
Entetanto, a API Java Servlets fornecia um paradigma de
programa¸˜o orientada a objetos para os desenvolvedores weba .
ca
Tamb´m apresentava melhorias de performance em rela¸˜o ao
e
ca
CGIb .
a
b
8 / 76
Mann, Java Server Faces in Action.
Burns, Griffin e Schalk, JavaServer faces 2.0.
Leandro Soriano Ferreira
Java Server Faces - Bate Papo
9. Fundamentos
Java Server Faces
Metendo a M˜o na Massa
a
Entendendo um pouco mais o JSF
Referˆncias
e
9 / 76
Leandro Soriano Ferreira
Protocolo HTTP
Common Gateway Interface
Servlets
Java Server Pages
Outras Tecnologias
Java Server Faces - Bate Papo
10. Fundamentos
Java Server Faces
Metendo a M˜o na Massa
a
Entendendo um pouco mais o JSF
Referˆncias
e
Protocolo HTTP
Common Gateway Interface
Servlets
Java Server Pages
Outras Tecnologias
JSP - Java Server Pages
Constru´ acima da tecnologia Servlets, capacita os
ıdo
desenvolvedores Web a editar p´ginas HTML com tags especiais
a
para as por¸˜es dinˆmicas escritas em Javaa .
co
a
a
10 / 76
Burns, Griffin e Schalk, JavaServer faces 2.0.
Leandro Soriano Ferreira
Java Server Faces - Bate Papo
11. Fundamentos
Java Server Faces
Metendo a M˜o na Massa
a
Entendendo um pouco mais o JSF
Referˆncias
e
Protocolo HTTP
Common Gateway Interface
Servlets
Java Server Pages
Outras Tecnologias
<html>
<head>< t i t l e> F i r s t JSP</ t i t l e></head>
<body>
<p>
The s q u a r e r o o t o f 5 i s
<%= Math . s q r t ( 5 ) %
>
</p>
</body>
</ html>
11 / 76
Leandro Soriano Ferreira
Java Server Faces - Bate Papo
12. Fundamentos
Java Server Faces
Metendo a M˜o na Massa
a
Entendendo um pouco mais o JSF
Referˆncias
e
Protocolo HTTP
Common Gateway Interface
Servlets
Java Server Pages
Outras Tecnologias
Padr˜o MVC
a
Padr˜o arquitetural que separa a intera¸˜o que o usu´rio faz com a
a
ca
a
informa¸˜o da representa¸˜o desta informa¸˜oa .
ca
ca
ca
a
12 / 76
Wikipedia, Model View Controller.
Leandro Soriano Ferreira
Java Server Faces - Bate Papo
13. Fundamentos
Java Server Faces
Metendo a M˜o na Massa
a
Entendendo um pouco mais o JSF
Referˆncias
e
Protocolo HTTP
Common Gateway Interface
Servlets
Java Server Pages
Outras Tecnologias
Exemplos de Frameworks Web Java que utilizam MVC
Strutsa ;
Spring MVCb ;
VRaptorc ;
Dentre outros
a
http://http://struts.apache.org/development/2.x/
http://projects.spring.io/spring-framework/
c
http://vraptor.caelum.com.br/pt/
b
13 / 76
Leandro Soriano Ferreira
Java Server Faces - Bate Papo
14. Fundamentos
Java Server Faces
Metendo a M˜o na Massa
a
Entendendo um pouco mais o JSF
Referˆncias
e
Introdu¸˜o
ca
Ciclo de Vida
JSF - Java Server Faces
JSF ´ uma tecnologia que nos permite criar aplica¸˜es Java para
e
co
Web utilizando componentes visuais, fazendo com que o
desenvolvedor n˜o se preocupe com Javascript e HTMLa .
a
a
14 / 76
Caelum, Introdu¸˜o ao JSF e Primefaces.
ca
Leandro Soriano Ferreira
Java Server Faces - Bate Papo
15. Fundamentos
Java Server Faces
Metendo a M˜o na Massa
a
Entendendo um pouco mais o JSF
Referˆncias
e
Introdu¸˜o
ca
Ciclo de Vida
Especifica¸˜o JEE
ca
O JSF ´ uma especifica¸˜o JEE. Isso significa que existe uma
e
ca
padroniza¸˜o na forma como esta tecnologia deve ser
ca
implementada, fazendo com que todos os frameworks baseados
nela funcionem de forma parecida.
15 / 76
Leandro Soriano Ferreira
Java Server Faces - Bate Papo
16. Fundamentos
Java Server Faces
Metendo a M˜o na Massa
a
Entendendo um pouco mais o JSF
Referˆncias
e
16 / 76
Leandro Soriano Ferreira
Introdu¸˜o
ca
Ciclo de Vida
Java Server Faces - Bate Papo
17. Fundamentos
Java Server Faces
Metendo a M˜o na Massa
a
Entendendo um pouco mais o JSF
Referˆncias
e
17 / 76
Leandro Soriano Ferreira
Introdu¸˜o
ca
Ciclo de Vida
Java Server Faces - Bate Papo
18. Fundamentos
Java Server Faces
Metendo a M˜o na Massa
a
Entendendo um pouco mais o JSF
Referˆncias
e
Cria¸˜o de um Projeto JSF
ca
Dependˆncias do JSF no Maven
e
Instalando e Configurando o Container Web
Primeira P´gina JSF
a
Apache Maven
Apache Maven, ou simplesmente Maven, ´ uma ferramenta de
e
automa¸˜o de compila¸˜o utilizada primariamente em projetos
ca
ca
Java. Ela ´ similar ` ferramenta Ant, mas ´ baseada em conceitos
e
a
e
e trabalhos diferentes em um modo diferentea .
a
18 / 76
Wikipedia, Apache Maven.
Leandro Soriano Ferreira
Java Server Faces - Bate Papo
19. Fundamentos
Java Server Faces
Metendo a M˜o na Massa
a
Entendendo um pouco mais o JSF
Referˆncias
e
Cria¸˜o de um Projeto JSF
ca
Dependˆncias do JSF no Maven
e
Instalando e Configurando o Container Web
Primeira P´gina JSF
a
Cria¸˜o do Projeto no Eclipse Kepler
ca
19 / 76
Leandro Soriano Ferreira
Java Server Faces - Bate Papo
20. Fundamentos
Java Server Faces
Metendo a M˜o na Massa
a
Entendendo um pouco mais o JSF
Referˆncias
e
Cria¸˜o de um Projeto JSF
ca
Dependˆncias do JSF no Maven
e
Instalando e Configurando o Container Web
Primeira P´gina JSF
a
Cria¸˜o do Projeto no Eclipse Kepler
ca
20 / 76
Leandro Soriano Ferreira
Java Server Faces - Bate Papo
21. Fundamentos
Java Server Faces
Metendo a M˜o na Massa
a
Entendendo um pouco mais o JSF
Referˆncias
e
Cria¸˜o de um Projeto JSF
ca
Dependˆncias do JSF no Maven
e
Instalando e Configurando o Container Web
Primeira P´gina JSF
a
Cria¸˜o do Projeto no Eclipse Kepler
ca
21 / 76
Leandro Soriano Ferreira
Java Server Faces - Bate Papo
22. Fundamentos
Java Server Faces
Metendo a M˜o na Massa
a
Entendendo um pouco mais o JSF
Referˆncias
e
Cria¸˜o de um Projeto JSF
ca
Dependˆncias do JSF no Maven
e
Instalando e Configurando o Container Web
Primeira P´gina JSF
a
Cria¸˜o do Projeto no Eclipse Kepler
ca
22 / 76
Leandro Soriano Ferreira
Java Server Faces - Bate Papo
23. Fundamentos
Java Server Faces
Metendo a M˜o na Massa
a
Entendendo um pouco mais o JSF
Referˆncias
e
Cria¸˜o de um Projeto JSF
ca
Dependˆncias do JSF no Maven
e
Instalando e Configurando o Container Web
Primeira P´gina JSF
a
Cria¸˜o do Projeto no Eclipse Kepler
ca
23 / 76
Leandro Soriano Ferreira
Java Server Faces - Bate Papo
24. Fundamentos
Java Server Faces
Metendo a M˜o na Massa
a
Entendendo um pouco mais o JSF
Referˆncias
e
Cria¸˜o de um Projeto JSF
ca
Dependˆncias do JSF no Maven
e
Instalando e Configurando o Container Web
Primeira P´gina JSF
a
Cria¸˜o do Projeto no Eclipse Kepler
ca
24 / 76
Leandro Soriano Ferreira
Java Server Faces - Bate Papo
25. Fundamentos
Java Server Faces
Metendo a M˜o na Massa
a
Entendendo um pouco mais o JSF
Referˆncias
e
Cria¸˜o de um Projeto JSF
ca
Dependˆncias do JSF no Maven
e
Instalando e Configurando o Container Web
Primeira P´gina JSF
a
Cria¸˜o do Projeto no Eclipse Kepler
ca
25 / 76
Leandro Soriano Ferreira
Java Server Faces - Bate Papo
26. Fundamentos
Java Server Faces
Metendo a M˜o na Massa
a
Entendendo um pouco mais o JSF
Referˆncias
e
Cria¸˜o de um Projeto JSF
ca
Dependˆncias do JSF no Maven
e
Instalando e Configurando o Container Web
Primeira P´gina JSF
a
Cria¸˜o do Projeto
ca
26 / 76
Leandro Soriano Ferreira
Java Server Faces - Bate Papo
27. Fundamentos
Java Server Faces
Metendo a M˜o na Massa
a
Entendendo um pouco mais o JSF
Referˆncias
e
Cria¸˜o de um Projeto JSF
ca
Dependˆncias do JSF no Maven
e
Instalando e Configurando o Container Web
Primeira P´gina JSF
a
Configurando Dependˆncias
e
27 / 76
Leandro Soriano Ferreira
Java Server Faces - Bate Papo
28. Fundamentos
Java Server Faces
Metendo a M˜o na Massa
a
Entendendo um pouco mais o JSF
Referˆncias
e
Cria¸˜o de um Projeto JSF
ca
Dependˆncias do JSF no Maven
e
Instalando e Configurando o Container Web
Primeira P´gina JSF
a
Configurando Dependˆncias
e
28 / 76
Leandro Soriano Ferreira
Java Server Faces - Bate Papo
29. Fundamentos
Java Server Faces
Metendo a M˜o na Massa
a
Entendendo um pouco mais o JSF
Referˆncias
e
Cria¸˜o de um Projeto JSF
ca
Dependˆncias do JSF no Maven
e
Instalando e Configurando o Container Web
Primeira P´gina JSF
a
Configurando Dependˆncias
e
29 / 76
Leandro Soriano Ferreira
Java Server Faces - Bate Papo
30. Fundamentos
Java Server Faces
Metendo a M˜o na Massa
a
Entendendo um pouco mais o JSF
Referˆncias
e
Cria¸˜o de um Projeto JSF
ca
Dependˆncias do JSF no Maven
e
Instalando e Configurando o Container Web
Primeira P´gina JSF
a
Configurando o Container Web
30 / 76
Leandro Soriano Ferreira
Java Server Faces - Bate Papo
31. Fundamentos
Java Server Faces
Metendo a M˜o na Massa
a
Entendendo um pouco mais o JSF
Referˆncias
e
Cria¸˜o de um Projeto JSF
ca
Dependˆncias do JSF no Maven
e
Instalando e Configurando o Container Web
Primeira P´gina JSF
a
Configurando o Container Web
31 / 76
Leandro Soriano Ferreira
Java Server Faces - Bate Papo
32. Fundamentos
Java Server Faces
Metendo a M˜o na Massa
a
Entendendo um pouco mais o JSF
Referˆncias
e
Cria¸˜o de um Projeto JSF
ca
Dependˆncias do JSF no Maven
e
Instalando e Configurando o Container Web
Primeira P´gina JSF
a
Configurando o Container Web
32 / 76
Leandro Soriano Ferreira
Java Server Faces - Bate Papo
33. Fundamentos
Java Server Faces
Metendo a M˜o na Massa
a
Entendendo um pouco mais o JSF
Referˆncias
e
Cria¸˜o de um Projeto JSF
ca
Dependˆncias do JSF no Maven
e
Instalando e Configurando o Container Web
Primeira P´gina JSF
a
Configurando o Container Web
33 / 76
Leandro Soriano Ferreira
Java Server Faces - Bate Papo
34. Fundamentos
Java Server Faces
Metendo a M˜o na Massa
a
Entendendo um pouco mais o JSF
Referˆncias
e
Cria¸˜o de um Projeto JSF
ca
Dependˆncias do JSF no Maven
e
Instalando e Configurando o Container Web
Primeira P´gina JSF
a
Configurando o Container Web
34 / 76
Leandro Soriano Ferreira
Java Server Faces - Bate Papo
35. Fundamentos
Java Server Faces
Metendo a M˜o na Massa
a
Entendendo um pouco mais o JSF
Referˆncias
e
Cria¸˜o de um Projeto JSF
ca
Dependˆncias do JSF no Maven
e
Instalando e Configurando o Container Web
Primeira P´gina JSF
a
Configurando o Container Web
35 / 76
Leandro Soriano Ferreira
Java Server Faces - Bate Papo
36. Fundamentos
Java Server Faces
Metendo a M˜o na Massa
a
Entendendo um pouco mais o JSF
Referˆncias
e
Cria¸˜o de um Projeto JSF
ca
Dependˆncias do JSF no Maven
e
Instalando e Configurando o Container Web
Primeira P´gina JSF
a
Configurando o Container Web
36 / 76
Leandro Soriano Ferreira
Java Server Faces - Bate Papo
37. Fundamentos
Java Server Faces
Metendo a M˜o na Massa
a
Entendendo um pouco mais o JSF
Referˆncias
e
Cria¸˜o de um Projeto JSF
ca
Dependˆncias do JSF no Maven
e
Instalando e Configurando o Container Web
Primeira P´gina JSF
a
Primeira P´gina JSF
a
37 / 76
Leandro Soriano Ferreira
Java Server Faces - Bate Papo
38. Fundamentos
Java Server Faces
Metendo a M˜o na Massa
a
Entendendo um pouco mais o JSF
Referˆncias
e
Cria¸˜o de um Projeto JSF
ca
Dependˆncias do JSF no Maven
e
Instalando e Configurando o Container Web
Primeira P´gina JSF
a
Primeira P´gina JSF
a
38 / 76
Leandro Soriano Ferreira
Java Server Faces - Bate Papo
39. Fundamentos
Java Server Faces
Metendo a M˜o na Massa
a
Entendendo um pouco mais o JSF
Referˆncias
e
Cria¸˜o de um Projeto JSF
ca
Dependˆncias do JSF no Maven
e
Instalando e Configurando o Container Web
Primeira P´gina JSF
a
Primeira P´gina JSF
a
39 / 76
Leandro Soriano Ferreira
Java Server Faces - Bate Papo
40. Fundamentos
Java Server Faces
Metendo a M˜o na Massa
a
Entendendo um pouco mais o JSF
Referˆncias
e
Models
Managed Beans
Escopos
Expression Language
A¸˜es e Navega¸˜o
co
ca
Valida¸˜o de Campos
ca
Criando um Model
40 / 76
Leandro Soriano Ferreira
Java Server Faces - Bate Papo
41. Fundamentos
Java Server Faces
Metendo a M˜o na Massa
a
Entendendo um pouco mais o JSF
Referˆncias
e
Models
Managed Beans
Escopos
Expression Language
A¸˜es e Navega¸˜o
co
ca
Valida¸˜o de Campos
ca
Criando um Model
41 / 76
Leandro Soriano Ferreira
Java Server Faces - Bate Papo
42. Fundamentos
Java Server Faces
Metendo a M˜o na Massa
a
Entendendo um pouco mais o JSF
Referˆncias
e
Models
Managed Beans
Escopos
Expression Language
A¸˜es e Navega¸˜o
co
ca
Valida¸˜o de Campos
ca
Criando um Model
42 / 76
Leandro Soriano Ferreira
Java Server Faces - Bate Papo
43. Fundamentos
Java Server Faces
Metendo a M˜o na Massa
a
Entendendo um pouco mais o JSF
Referˆncias
e
Models
Managed Beans
Escopos
Expression Language
A¸˜es e Navega¸˜o
co
ca
Valida¸˜o de Campos
ca
Criando um Managed Bean
43 / 76
Leandro Soriano Ferreira
Java Server Faces - Bate Papo
44. Fundamentos
Java Server Faces
Metendo a M˜o na Massa
a
Entendendo um pouco mais o JSF
Referˆncias
e
Models
Managed Beans
Escopos
Expression Language
A¸˜es e Navega¸˜o
co
ca
Valida¸˜o de Campos
ca
Criando um Managed Bean
44 / 76
Leandro Soriano Ferreira
Java Server Faces - Bate Papo
45. Fundamentos
Java Server Faces
Metendo a M˜o na Massa
a
Entendendo um pouco mais o JSF
Referˆncias
e
Models
Managed Beans
Escopos
Expression Language
A¸˜es e Navega¸˜o
co
ca
Valida¸˜o de Campos
ca
Criando um Managed Bean
Nomeando Managed Beans
O atributo name da anota¸˜o @ManagedBean define como este
ca
bean ser´ referenciado dentro das p´ginas JSF. Caso n˜o seja
a
a
a
definido, este mesmo bean sera referenciado usando o nome da
classe, com a primeira letra em min´sculo.
u
45 / 76
Leandro Soriano Ferreira
Java Server Faces - Bate Papo
46. Fundamentos
Java Server Faces
Metendo a M˜o na Massa
a
Entendendo um pouco mais o JSF
Referˆncias
e
Models
Managed Beans
Escopos
Expression Language
A¸˜es e Navega¸˜o
co
ca
Valida¸˜o de Campos
ca
Escopo de um Managed Bean
Definimos o escopo de um Managed Bean atrav´s de anota¸˜es
e
co
como as exibidas abaixo. Isso define o tempo que uma instˆncia do
a
Managed Beam sobrevive durante a execu¸˜o da aplica¸˜o web.
ca
ca
46 / 76
Leandro Soriano Ferreira
Java Server Faces - Bate Papo
47. Fundamentos
Java Server Faces
Metendo a M˜o na Massa
a
Entendendo um pouco mais o JSF
Referˆncias
e
Models
Managed Beans
Escopos
Expression Language
A¸˜es e Navega¸˜o
co
ca
Valida¸˜o de Campos
ca
Escopo de um Managed Bean
@RequestScoped
O managed bean permanece vivo (vis´
ıvel) durante o tempo de vida
de uma requisi¸˜o HTTP. Criado no in´ da requisi¸˜o HTTP e
ca
ıcio
ca
destru´ quando a resposta HTTP associada ` requisi¸˜o for
ıdo
a
ca
encerrada.
47 / 76
Leandro Soriano Ferreira
Java Server Faces - Bate Papo
48. Fundamentos
Java Server Faces
Metendo a M˜o na Massa
a
Entendendo um pouco mais o JSF
Referˆncias
e
Models
Managed Beans
Escopos
Expression Language
A¸˜es e Navega¸˜o
co
ca
Valida¸˜o de Campos
ca
Escopo de um Managed Bean
@SessionScoped
O managed bean vive durante o tempo em que a sess˜o HTTP
a
´ criada na primeira requisi¸˜o HTTP e destru´ quando a
viver. E
ca
ıda
sess˜o HTTP for invalidada.
a
48 / 76
Leandro Soriano Ferreira
Java Server Faces - Bate Papo
49. Fundamentos
Java Server Faces
Metendo a M˜o na Massa
a
Entendendo um pouco mais o JSF
Referˆncias
e
Models
Managed Beans
Escopos
Expression Language
A¸˜es e Navega¸˜o
co
ca
Valida¸˜o de Campos
ca
Escopo de um Managed Bean
@ViewScoped
O managed bean permanece vivo enquanto o usu´rio interagir com
a
a mesma p´gina JSF na janela/aba do navegador web. O bean ´
a
e
criado durante uma requisi¸˜o HTTP e destru´ quando o usu´rio
ca
ıdo
a
mudar de p´gina JSF.
a
49 / 76
Leandro Soriano Ferreira
Java Server Faces - Bate Papo
50. Fundamentos
Java Server Faces
Metendo a M˜o na Massa
a
Entendendo um pouco mais o JSF
Referˆncias
e
Models
Managed Beans
Escopos
Expression Language
A¸˜es e Navega¸˜o
co
ca
Valida¸˜o de Campos
ca
Escopo de um Managed Bean
@ApplicationScoped
´
O managed bean vive enquanto a aplica¸˜o web viver. E criado
ca
durante a primeira requisi¸˜o HTTP que fizer men¸˜o a este bean
ca
ca
(ou se configura¸˜o espec´
ca
ıfica disser o contr´rio) e ´ destru´
a
e
ıdo
quando a aplica¸˜o web for encerrada.
ca
50 / 76
Leandro Soriano Ferreira
Java Server Faces - Bate Papo
51. Fundamentos
Java Server Faces
Metendo a M˜o na Massa
a
Entendendo um pouco mais o JSF
Referˆncias
e
Models
Managed Beans
Escopos
Expression Language
A¸˜es e Navega¸˜o
co
ca
Valida¸˜o de Campos
ca
Escopo de um Managed Bean
@NoneScoped
O managed bean vive apenas durante o per´
ıodo de avalia¸˜o de
ca
uma EL (Expression Language).
51 / 76
Leandro Soriano Ferreira
Java Server Faces - Bate Papo
52. Fundamentos
Java Server Faces
Metendo a M˜o na Massa
a
Entendendo um pouco mais o JSF
Referˆncias
e
Models
Managed Beans
Escopos
Expression Language
A¸˜es e Navega¸˜o
co
ca
Valida¸˜o de Campos
ca
Expression Language
Fornecem um mecanismo importante para habilitar a camada de
apresenta¸˜o (p´ginas web) a se comunicar com a l´gica da
ca
a
o
aplica¸˜o (managed beans)a .
ca
a
52 / 76
Oracle, Immediate and Deferred Evaluation Syntax.
Leandro Soriano Ferreira
Java Server Faces - Bate Papo
53. Fundamentos
Java Server Faces
Metendo a M˜o na Massa
a
Entendendo um pouco mais o JSF
Referˆncias
e
Models
Managed Beans
Escopos
Expression Language
A¸˜es e Navega¸˜o
co
ca
Valida¸˜o de Campos
ca
Syntax de Avalia¸˜o Imediata
ca
Todas as expressoes que usam a sintaxe ${} s˜o avaliadas
a
imediatamente. Estas express˜es podem ser utilizadas apenas com
o
templates ou como valores de atributos de tags que aceitam
valores de express˜es em tempo de execu¸˜oa .
o
ca
a
Oracle, Immediate and Deferred Evaluation Syntax.
<fmt : formatNumber
v a l u e=”$ { s e s s i o n S c o p e . c a r t . t o t a l }” />
53 / 76
Leandro Soriano Ferreira
Java Server Faces - Bate Papo
54. Fundamentos
Java Server Faces
Metendo a M˜o na Massa
a
Entendendo um pouco mais o JSF
Referˆncias
e
Models
Managed Beans
Escopos
Expression Language
A¸˜es e Navega¸˜o
co
ca
Valida¸˜o de Campos
ca
Syntax de Avalia¸˜o Tardia
ca
Tomam a forma de #{expr} e podem ser avaliadas em outras fases
do ciclo de vida da p´gina JSFa .
a
a
Oracle, Immediate and Deferred Evaluation Syntax.
<h : i n p u t T e x t i d=”name”
v a l u e=”#{c u s t o m e r . name} ” />
54 / 76
Leandro Soriano Ferreira
Java Server Faces - Bate Papo
55. Fundamentos
Java Server Faces
Metendo a M˜o na Massa
a
Entendendo um pouco mais o JSF
Referˆncias
e
55 / 76
Leandro Soriano Ferreira
Models
Managed Beans
Escopos
Expression Language
A¸˜es e Navega¸˜o
co
ca
Valida¸˜o de Campos
ca
Java Server Faces - Bate Papo
56. Fundamentos
Java Server Faces
Metendo a M˜o na Massa
a
Entendendo um pouco mais o JSF
Referˆncias
e
56 / 76
Leandro Soriano Ferreira
Models
Managed Beans
Escopos
Expression Language
A¸˜es e Navega¸˜o
co
ca
Valida¸˜o de Campos
ca
Java Server Faces - Bate Papo
57. Fundamentos
Java Server Faces
Metendo a M˜o na Massa
a
Entendendo um pouco mais o JSF
Referˆncias
e
Models
Managed Beans
Escopos
Expression Language
A¸˜es e Navega¸˜o
co
ca
Valida¸˜o de Campos
ca
Componentes como CommandButton e CommandLink do JSF s˜o
a
utilizados para realizar a¸˜es, como submeter um formul´rio e
co
a
navegar para outra p´gina.a
a
a
57 / 76
Oracle, Immediate and Deferred Evaluation Syntax.
Leandro Soriano Ferreira
Java Server Faces - Bate Papo
58. Fundamentos
Java Server Faces
Metendo a M˜o na Massa
a
Entendendo um pouco mais o JSF
Referˆncias
e
Models
Managed Beans
Escopos
Expression Language
A¸˜es e Navega¸˜o
co
ca
Valida¸˜o de Campos
ca
Criando um formul´rio de dados
a
58 / 76
Leandro Soriano Ferreira
Java Server Faces - Bate Papo
59. Fundamentos
Java Server Faces
Metendo a M˜o na Massa
a
Entendendo um pouco mais o JSF
Referˆncias
e
Models
Managed Beans
Escopos
Expression Language
A¸˜es e Navega¸˜o
co
ca
Valida¸˜o de Campos
ca
Criando uma listagem dos dados
59 / 76
Leandro Soriano Ferreira
Java Server Faces - Bate Papo
60. Fundamentos
Java Server Faces
Metendo a M˜o na Massa
a
Entendendo um pouco mais o JSF
Referˆncias
e
Models
Managed Beans
Escopos
Expression Language
A¸˜es e Navega¸˜o
co
ca
Valida¸˜o de Campos
ca
M´todo para salvar
e
60 / 76
Leandro Soriano Ferreira
Java Server Faces - Bate Papo
61. Fundamentos
Java Server Faces
Metendo a M˜o na Massa
a
Entendendo um pouco mais o JSF
Referˆncias
e
Models
Managed Beans
Escopos
Expression Language
A¸˜es e Navega¸˜o
co
ca
Valida¸˜o de Campos
ca
M´todo para preencher o formul´rio com item da lista
e
a
61 / 76
Leandro Soriano Ferreira
Java Server Faces - Bate Papo
62. Fundamentos
Java Server Faces
Metendo a M˜o na Massa
a
Entendendo um pouco mais o JSF
Referˆncias
e
Models
Managed Beans
Escopos
Expression Language
A¸˜es e Navega¸˜o
co
ca
Valida¸˜o de Campos
ca
M´todo para excluir da listagem
e
62 / 76
Leandro Soriano Ferreira
Java Server Faces - Bate Papo
63. Fundamentos
Java Server Faces
Metendo a M˜o na Massa
a
Entendendo um pouco mais o JSF
Referˆncias
e
Models
Managed Beans
Escopos
Expression Language
A¸˜es e Navega¸˜o
co
ca
Valida¸˜o de Campos
ca
Resultado
63 / 76
Leandro Soriano Ferreira
Java Server Faces - Bate Papo
64. Fundamentos
Java Server Faces
Metendo a M˜o na Massa
a
Entendendo um pouco mais o JSF
Referˆncias
e
Models
Managed Beans
Escopos
Expression Language
A¸˜es e Navega¸˜o
co
ca
Valida¸˜o de Campos
ca
Ciclo de Vida - Valida¸˜o
ca
64 / 76
Leandro Soriano Ferreira
Java Server Faces - Bate Papo
65. Fundamentos
Java Server Faces
Metendo a M˜o na Massa
a
Entendendo um pouco mais o JSF
Referˆncias
e
65 / 76
Leandro Soriano Ferreira
Models
Managed Beans
Escopos
Expression Language
A¸˜es e Navega¸˜o
co
ca
Valida¸˜o de Campos
ca
Java Server Faces - Bate Papo
66. Fundamentos
Java Server Faces
Metendo a M˜o na Massa
a
Entendendo um pouco mais o JSF
Referˆncias
e
Models
Managed Beans
Escopos
Expression Language
A¸˜es e Navega¸˜o
co
ca
Valida¸˜o de Campos
ca
Mensagens
Exibindo mensagens de erro no topo do formul´rio
a
66 / 76
Leandro Soriano Ferreira
Java Server Faces - Bate Papo
67. Fundamentos
Java Server Faces
Metendo a M˜o na Massa
a
Entendendo um pouco mais o JSF
Referˆncias
e
Models
Managed Beans
Escopos
Expression Language
A¸˜es e Navega¸˜o
co
ca
Valida¸˜o de Campos
ca
Validando campos obrigat´rios
o
67 / 76
Leandro Soriano Ferreira
Java Server Faces - Bate Papo
68. Fundamentos
Java Server Faces
Metendo a M˜o na Massa
a
Entendendo um pouco mais o JSF
Referˆncias
e
Models
Managed Beans
Escopos
Expression Language
A¸˜es e Navega¸˜o
co
ca
Valida¸˜o de Campos
ca
Validando formato de dados nos campos
68 / 76
Leandro Soriano Ferreira
Java Server Faces - Bate Papo
69. Fundamentos
Java Server Faces
Metendo a M˜o na Massa
a
Entendendo um pouco mais o JSF
Referˆncias
e
Models
Managed Beans
Escopos
Expression Language
A¸˜es e Navega¸˜o
co
ca
Valida¸˜o de Campos
ca
Habilitando valida¸˜o no cliente (navegador)
ca
69 / 76
Leandro Soriano Ferreira
Java Server Faces - Bate Papo
70. Fundamentos
Java Server Faces
Metendo a M˜o na Massa
a
Entendendo um pouco mais o JSF
Referˆncias
e
Models
Managed Beans
Escopos
Expression Language
A¸˜es e Navega¸˜o
co
ca
Valida¸˜o de Campos
ca
Desabilitando valida¸˜es para o bot˜o de excluir
co
a
70 / 76
Leandro Soriano Ferreira
Java Server Faces - Bate Papo
71. Fundamentos
Java Server Faces
Metendo a M˜o na Massa
a
Entendendo um pouco mais o JSF
Referˆncias
e
71 / 76
Leandro Soriano Ferreira
Models
Managed Beans
Escopos
Expression Language
A¸˜es e Navega¸˜o
co
ca
Valida¸˜o de Campos
ca
Java Server Faces - Bate Papo
72. Fundamentos
Java Server Faces
Metendo a M˜o na Massa
a
Entendendo um pouco mais o JSF
Referˆncias
e
Models
Managed Beans
Escopos
Expression Language
A¸˜es e Navega¸˜o
co
ca
Valida¸˜o de Campos
ca
D´vidas??? Perguntas???
u
72 / 76
Leandro Soriano Ferreira
Java Server Faces - Bate Papo
73. Fundamentos
Java Server Faces
Metendo a M˜o na Massa
a
Entendendo um pouco mais o JSF
Referˆncias
e
Referˆncias I
e
Wagner Andrade. Afinal, o que ´ HTTP? Acessado em: 18
e
de novembro de 2013. Mar. de 2009. endereco
¸
ˆ
eletronico:
http://imasters.com.br/artigo/11513/redes-eservidores/afinal-o-que-e-http/.
Ed Burns, Neil. Griffin e Chris. Schalk. JavaServer faces 2.0.
Osborne/McGraw-Hill, 2010.
Caelum. Introdu¸˜o ao JSF e Primefaces. Acessado em: 18
ca
ˆ
de novembro de 2013. 2013. endereco eletronico:
¸
http://www.caelum.com.br/apostila-java-testesjsf-web-services-design-patterns/introducao-aojsf-e-primefaces/.
73 / 76
Leandro Soriano Ferreira
Java Server Faces - Bate Papo
74. Fundamentos
Java Server Faces
Metendo a M˜o na Massa
a
Entendendo um pouco mais o JSF
Referˆncias
e
Referˆncias II
e
Kito D Mann. Java Server Faces in Action. Dreamtech
Press, 2005.
Oracle. Immediate and Deferred Evaluation Syntax.
Acessado em: 18 de novembro de 2013. 2013. endereco
¸
ˆ
eletronico: http://docs.oracle.com/javaee/6/
tutorial/doc/bnahr.html.
Primefaces. Primefaces. Acessado em: 18 de novembro de
ˆ
2013. 2013. endereco eletronico:
¸
http://www.primefaces.org/.
Wikipedia. Apache Maven. Acessado em: 18 de novembro de
ˆ
2013. 2013. endereco eletronico:
¸
http://en.wikipedia.org/wiki/Apache_Maven.
74 / 76
Leandro Soriano Ferreira
Java Server Faces - Bate Papo
75. Fundamentos
Java Server Faces
Metendo a M˜o na Massa
a
Entendendo um pouco mais o JSF
Referˆncias
e
Referˆncias III
e
Wikipedia. Model View Controller. Acessado em: 18 de
ˆ
novembro de 2013. 2013. endereco eletronico:
¸
http://en.wikipedia.org/wiki/Model%E2%80%93view%
E2%80%93controller.
75 / 76
Leandro Soriano Ferreira
Java Server Faces - Bate Papo
76. Fundamentos
Java Server Faces
Metendo a M˜o na Massa
a
Entendendo um pouco mais o JSF
Referˆncias
e
76 / 76
Leandro Soriano Ferreira
Java Server Faces - Bate Papo