Ibes main

76
Fundamentos Java Server Faces Metendo a M˜ ao na Massa Entendendo um pouco mais o JSF Referˆ encias Java Server Faces Um breve bate-papo Leandro Soriano Ferreira Instituto Baiano de Ensino Superior [email protected] 19 de novembro de 2013 1 / 76 Leandro Soriano Ferreira Java Server Faces - Bate Papo

Transcript of Ibes main

Page 1: Ibes   main

FundamentosJava Server Faces

Metendo a Mao na MassaEntendendo um pouco mais o JSF

Referencias

Java Server FacesUm breve bate-papo

Leandro Soriano Ferreira

Instituto Baiano de Ensino Superior

[email protected]

19 de novembro de 2013

1 / 76 Leandro Soriano Ferreira Java Server Faces - Bate Papo

Page 2: Ibes   main

FundamentosJava Server Faces

Metendo a Mao na MassaEntendendo um pouco mais o JSF

Referencias

Protocolo HTTPCommon Gateway InterfaceServletsJava Server PagesOutras Tecnologias

Protocolo HTTP

HTTP (HyperText Transfer Protocol - Protocolo de Transferenciade HiperTexto) nada mais e do que um protocolo de transferenciade paginas na Internet

2 / 76 Leandro Soriano Ferreira Java Server Faces - Bate Papo

Page 3: Ibes   main

FundamentosJava Server Faces

Metendo a Mao na MassaEntendendo um pouco mais o JSF

Referencias

Protocolo HTTPCommon Gateway InterfaceServletsJava Server PagesOutras 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

1Andrade, Afinal, o que e HTTP?.3 / 76 Leandro Soriano Ferreira Java Server Faces - Bate Papo

Page 4: Ibes   main

FundamentosJava Server Faces

Metendo a Mao na MassaEntendendo um pouco mais o JSF

Referencias

Protocolo HTTPCommon Gateway InterfaceServletsJava Server PagesOutras Tecnologias

Exemplo2:

Bom dia Google.com,

Gostaria de ler sua pagina.

Estou usando o navegador Firefox na vers~ao 3.0.6.

No momento eu aceito HTML.

Gostaria de receber o conteudo em portugues,

mas tambem entendo ingles.

Uso o padr~ao de caracteres (letras) ISO-8859 e UTF-8.

2Andrade, Afinal, o que e HTTP?.4 / 76 Leandro Soriano Ferreira Java Server Faces - Bate Papo

Page 5: Ibes   main

FundamentosJava Server Faces

Metendo a Mao na MassaEntendendo um pouco mais o JSF

Referencias

Protocolo HTTPCommon Gateway InterfaceServletsJava Server PagesOutras 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

...

3Andrade, Afinal, o que e HTTP?.5 / 76 Leandro Soriano Ferreira Java Server Faces - Bate Papo

Page 6: Ibes   main

FundamentosJava Server Faces

Metendo a Mao na MassaEntendendo um pouco mais o JSF

Referencias

Protocolo HTTPCommon Gateway InterfaceServletsJava Server PagesOutras Tecnologias

Exemplo4:

Ola,

Aqui e o Google.com.

Estou enviando a pagina que pediu.

Voce pode guardar as informac~oes em seu computador e

usa-las em outras visitas.

Estou enviando apenas texto e HTML como voce pediu.

Essa mensagem foi criada as 22:00 horas do dia 08/02/2009

utilizando servidor GWS.

O conteudo e formado por 222 letras, segue:

...

4Andrade, Afinal, o que e HTTP?.6 / 76 Leandro Soriano Ferreira Java Server Faces - Bate Papo

Page 7: Ibes   main

FundamentosJava Server Faces

Metendo a Mao na MassaEntendendo um pouco mais o JSF

Referencias

Protocolo HTTPCommon Gateway InterfaceServletsJava Server PagesOutras Tecnologias

CGI - Common Gateway Interface

Metodo utilizado nos anos 1990 para gerar conteudo dinamicoem paginas e aplicacoes Web. Normalmente eram criadosutilizando linguagens de script como o Perl, o Python, etc.

#!/usr/bin/perl

# hello.pl -- my first perl script!

print "Content-type: text/html\n\n";

print "Hello, world!\n";

7 / 76 Leandro Soriano Ferreira Java Server Faces - Bate Papo

Page 8: Ibes   main

FundamentosJava Server Faces

Metendo a Mao na MassaEntendendo um pouco mais o JSF

Referencias

Protocolo HTTPCommon Gateway InterfaceServletsJava Server PagesOutras Tecnologias

Tambem utilizado para gerar conteudo dinamico na web.Entetanto, a API Java Servlets fornecia um paradigma deprogramacao orientada a objetos para os desenvolvedores weba.Tambem apresentava melhorias de performance em relacao aoCGIb.

aMann, Java Server Faces in Action.bBurns, Griffin e Schalk, JavaServer faces 2.0.

8 / 76 Leandro Soriano Ferreira Java Server Faces - Bate Papo

Page 9: Ibes   main

FundamentosJava Server Faces

Metendo a Mao na MassaEntendendo um pouco mais o JSF

Referencias

Protocolo HTTPCommon Gateway InterfaceServletsJava Server PagesOutras Tecnologias

9 / 76 Leandro Soriano Ferreira Java Server Faces - Bate Papo

Page 10: Ibes   main

FundamentosJava Server Faces

Metendo a Mao na MassaEntendendo um pouco mais o JSF

Referencias

Protocolo HTTPCommon Gateway InterfaceServletsJava Server PagesOutras Tecnologias

JSP - Java Server Pages

Construıdo acima da tecnologia Servlets, capacita osdesenvolvedores Web a editar paginas HTML com tags especiaispara as porcoes dinamicas escritas em Javaa.

aBurns, Griffin e Schalk, JavaServer faces 2.0.

10 / 76 Leandro Soriano Ferreira Java Server Faces - Bate Papo

Page 11: Ibes   main

FundamentosJava Server Faces

Metendo a Mao na MassaEntendendo um pouco mais o JSF

Referencias

Protocolo HTTPCommon Gateway InterfaceServletsJava Server PagesOutras 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

Page 12: Ibes   main

FundamentosJava Server Faces

Metendo a Mao na MassaEntendendo um pouco mais o JSF

Referencias

Protocolo HTTPCommon Gateway InterfaceServletsJava Server PagesOutras Tecnologias

Padrao MVC

Padrao arquitetural que separa a interacao que o usuario faz com ainformacao da representacao desta informacaoa.

aWikipedia, Model View Controller.

12 / 76 Leandro Soriano Ferreira Java Server Faces - Bate Papo

Page 13: Ibes   main

FundamentosJava Server Faces

Metendo a Mao na MassaEntendendo um pouco mais o JSF

Referencias

Protocolo HTTPCommon Gateway InterfaceServletsJava Server PagesOutras Tecnologias

Exemplos de Frameworks Web Java que utilizam MVC

Strutsa;

Spring MVCb;

VRaptorc;

Dentre outros

ahttp://http://struts.apache.org/development/2.x/bhttp://projects.spring.io/spring-framework/chttp://vraptor.caelum.com.br/pt/

13 / 76 Leandro Soriano Ferreira Java Server Faces - Bate Papo

Page 14: Ibes   main

FundamentosJava Server Faces

Metendo a Mao na MassaEntendendo um pouco mais o JSF

Referencias

IntroducaoCiclo de Vida

JSF - Java Server Faces

JSF e uma tecnologia que nos permite criar aplicacoes Java paraWeb utilizando componentes visuais, fazendo com que odesenvolvedor nao se preocupe com Javascript e HTMLa.

aCaelum, Introducao ao JSF e Primefaces.

14 / 76 Leandro Soriano Ferreira Java Server Faces - Bate Papo

Page 15: Ibes   main

FundamentosJava Server Faces

Metendo a Mao na MassaEntendendo um pouco mais o JSF

Referencias

IntroducaoCiclo de Vida

Especificacao JEE

O JSF e uma especificacao JEE. Isso significa que existe umapadronizacao na forma como esta tecnologia deve serimplementada, fazendo com que todos os frameworks baseadosnela funcionem de forma parecida.

15 / 76 Leandro Soriano Ferreira Java Server Faces - Bate Papo

Page 16: Ibes   main

FundamentosJava Server Faces

Metendo a Mao na MassaEntendendo um pouco mais o JSF

Referencias

IntroducaoCiclo de Vida

16 / 76 Leandro Soriano Ferreira Java Server Faces - Bate Papo

Page 17: Ibes   main

FundamentosJava Server Faces

Metendo a Mao na MassaEntendendo um pouco mais o JSF

Referencias

IntroducaoCiclo de Vida

17 / 76 Leandro Soriano Ferreira Java Server Faces - Bate Papo

Page 18: Ibes   main

FundamentosJava Server Faces

Metendo a Mao na MassaEntendendo um pouco mais o JSF

Referencias

Criacao de um Projeto JSFDependencias do JSF no MavenInstalando e Configurando o Container WebPrimeira Pagina JSF

Apache Maven

Apache Maven, ou simplesmente Maven, e uma ferramenta deautomacao de compilacao utilizada primariamente em projetosJava. Ela e similar a ferramenta Ant, mas e baseada em conceitose trabalhos diferentes em um modo diferentea.

aWikipedia, Apache Maven.

18 / 76 Leandro Soriano Ferreira Java Server Faces - Bate Papo

Page 19: Ibes   main

FundamentosJava Server Faces

Metendo a Mao na MassaEntendendo um pouco mais o JSF

Referencias

Criacao de um Projeto JSFDependencias do JSF no MavenInstalando e Configurando o Container WebPrimeira Pagina JSF

Criacao do Projeto no Eclipse Kepler

19 / 76 Leandro Soriano Ferreira Java Server Faces - Bate Papo

Page 20: Ibes   main

FundamentosJava Server Faces

Metendo a Mao na MassaEntendendo um pouco mais o JSF

Referencias

Criacao de um Projeto JSFDependencias do JSF no MavenInstalando e Configurando o Container WebPrimeira Pagina JSF

Criacao do Projeto no Eclipse Kepler

20 / 76 Leandro Soriano Ferreira Java Server Faces - Bate Papo

Page 21: Ibes   main

FundamentosJava Server Faces

Metendo a Mao na MassaEntendendo um pouco mais o JSF

Referencias

Criacao de um Projeto JSFDependencias do JSF no MavenInstalando e Configurando o Container WebPrimeira Pagina JSF

Criacao do Projeto no Eclipse Kepler

21 / 76 Leandro Soriano Ferreira Java Server Faces - Bate Papo

Page 22: Ibes   main

FundamentosJava Server Faces

Metendo a Mao na MassaEntendendo um pouco mais o JSF

Referencias

Criacao de um Projeto JSFDependencias do JSF no MavenInstalando e Configurando o Container WebPrimeira Pagina JSF

Criacao do Projeto no Eclipse Kepler

22 / 76 Leandro Soriano Ferreira Java Server Faces - Bate Papo

Page 23: Ibes   main

FundamentosJava Server Faces

Metendo a Mao na MassaEntendendo um pouco mais o JSF

Referencias

Criacao de um Projeto JSFDependencias do JSF no MavenInstalando e Configurando o Container WebPrimeira Pagina JSF

Criacao do Projeto no Eclipse Kepler

23 / 76 Leandro Soriano Ferreira Java Server Faces - Bate Papo

Page 24: Ibes   main

FundamentosJava Server Faces

Metendo a Mao na MassaEntendendo um pouco mais o JSF

Referencias

Criacao de um Projeto JSFDependencias do JSF no MavenInstalando e Configurando o Container WebPrimeira Pagina JSF

Criacao do Projeto no Eclipse Kepler

24 / 76 Leandro Soriano Ferreira Java Server Faces - Bate Papo

Page 25: Ibes   main

FundamentosJava Server Faces

Metendo a Mao na MassaEntendendo um pouco mais o JSF

Referencias

Criacao de um Projeto JSFDependencias do JSF no MavenInstalando e Configurando o Container WebPrimeira Pagina JSF

Criacao do Projeto no Eclipse Kepler

25 / 76 Leandro Soriano Ferreira Java Server Faces - Bate Papo

Page 26: Ibes   main

FundamentosJava Server Faces

Metendo a Mao na MassaEntendendo um pouco mais o JSF

Referencias

Criacao de um Projeto JSFDependencias do JSF no MavenInstalando e Configurando o Container WebPrimeira Pagina JSF

Criacao do Projeto

26 / 76 Leandro Soriano Ferreira Java Server Faces - Bate Papo

Page 27: Ibes   main

FundamentosJava Server Faces

Metendo a Mao na MassaEntendendo um pouco mais o JSF

Referencias

Criacao de um Projeto JSFDependencias do JSF no MavenInstalando e Configurando o Container WebPrimeira Pagina JSF

Configurando Dependencias

27 / 76 Leandro Soriano Ferreira Java Server Faces - Bate Papo

Page 28: Ibes   main

FundamentosJava Server Faces

Metendo a Mao na MassaEntendendo um pouco mais o JSF

Referencias

Criacao de um Projeto JSFDependencias do JSF no MavenInstalando e Configurando o Container WebPrimeira Pagina JSF

Configurando Dependencias

28 / 76 Leandro Soriano Ferreira Java Server Faces - Bate Papo

Page 29: Ibes   main

FundamentosJava Server Faces

Metendo a Mao na MassaEntendendo um pouco mais o JSF

Referencias

Criacao de um Projeto JSFDependencias do JSF no MavenInstalando e Configurando o Container WebPrimeira Pagina JSF

Configurando Dependencias

29 / 76 Leandro Soriano Ferreira Java Server Faces - Bate Papo

Page 30: Ibes   main

FundamentosJava Server Faces

Metendo a Mao na MassaEntendendo um pouco mais o JSF

Referencias

Criacao de um Projeto JSFDependencias do JSF no MavenInstalando e Configurando o Container WebPrimeira Pagina JSF

Configurando o Container Web

30 / 76 Leandro Soriano Ferreira Java Server Faces - Bate Papo

Page 31: Ibes   main

FundamentosJava Server Faces

Metendo a Mao na MassaEntendendo um pouco mais o JSF

Referencias

Criacao de um Projeto JSFDependencias do JSF no MavenInstalando e Configurando o Container WebPrimeira Pagina JSF

Configurando o Container Web

31 / 76 Leandro Soriano Ferreira Java Server Faces - Bate Papo

Page 32: Ibes   main

FundamentosJava Server Faces

Metendo a Mao na MassaEntendendo um pouco mais o JSF

Referencias

Criacao de um Projeto JSFDependencias do JSF no MavenInstalando e Configurando o Container WebPrimeira Pagina JSF

Configurando o Container Web

32 / 76 Leandro Soriano Ferreira Java Server Faces - Bate Papo

Page 33: Ibes   main

FundamentosJava Server Faces

Metendo a Mao na MassaEntendendo um pouco mais o JSF

Referencias

Criacao de um Projeto JSFDependencias do JSF no MavenInstalando e Configurando o Container WebPrimeira Pagina JSF

Configurando o Container Web

33 / 76 Leandro Soriano Ferreira Java Server Faces - Bate Papo

Page 34: Ibes   main

FundamentosJava Server Faces

Metendo a Mao na MassaEntendendo um pouco mais o JSF

Referencias

Criacao de um Projeto JSFDependencias do JSF no MavenInstalando e Configurando o Container WebPrimeira Pagina JSF

Configurando o Container Web

34 / 76 Leandro Soriano Ferreira Java Server Faces - Bate Papo

Page 35: Ibes   main

FundamentosJava Server Faces

Metendo a Mao na MassaEntendendo um pouco mais o JSF

Referencias

Criacao de um Projeto JSFDependencias do JSF no MavenInstalando e Configurando o Container WebPrimeira Pagina JSF

Configurando o Container Web

35 / 76 Leandro Soriano Ferreira Java Server Faces - Bate Papo

Page 36: Ibes   main

FundamentosJava Server Faces

Metendo a Mao na MassaEntendendo um pouco mais o JSF

Referencias

Criacao de um Projeto JSFDependencias do JSF no MavenInstalando e Configurando o Container WebPrimeira Pagina JSF

Configurando o Container Web

36 / 76 Leandro Soriano Ferreira Java Server Faces - Bate Papo

Page 37: Ibes   main

FundamentosJava Server Faces

Metendo a Mao na MassaEntendendo um pouco mais o JSF

Referencias

Criacao de um Projeto JSFDependencias do JSF no MavenInstalando e Configurando o Container WebPrimeira Pagina JSF

Primeira Pagina JSF

37 / 76 Leandro Soriano Ferreira Java Server Faces - Bate Papo

Page 38: Ibes   main

FundamentosJava Server Faces

Metendo a Mao na MassaEntendendo um pouco mais o JSF

Referencias

Criacao de um Projeto JSFDependencias do JSF no MavenInstalando e Configurando o Container WebPrimeira Pagina JSF

Primeira Pagina JSF

38 / 76 Leandro Soriano Ferreira Java Server Faces - Bate Papo

Page 39: Ibes   main

FundamentosJava Server Faces

Metendo a Mao na MassaEntendendo um pouco mais o JSF

Referencias

Criacao de um Projeto JSFDependencias do JSF no MavenInstalando e Configurando o Container WebPrimeira Pagina JSF

Primeira Pagina JSF

39 / 76 Leandro Soriano Ferreira Java Server Faces - Bate Papo

Page 40: Ibes   main

FundamentosJava Server Faces

Metendo a Mao na MassaEntendendo um pouco mais o JSF

Referencias

ModelsManaged BeansEscoposExpression LanguageAcoes e NavegacaoValidacao de Campos

Criando um Model

40 / 76 Leandro Soriano Ferreira Java Server Faces - Bate Papo

Page 41: Ibes   main

FundamentosJava Server Faces

Metendo a Mao na MassaEntendendo um pouco mais o JSF

Referencias

ModelsManaged BeansEscoposExpression LanguageAcoes e NavegacaoValidacao de Campos

Criando um Model

41 / 76 Leandro Soriano Ferreira Java Server Faces - Bate Papo

Page 42: Ibes   main

FundamentosJava Server Faces

Metendo a Mao na MassaEntendendo um pouco mais o JSF

Referencias

ModelsManaged BeansEscoposExpression LanguageAcoes e NavegacaoValidacao de Campos

Criando um Model

42 / 76 Leandro Soriano Ferreira Java Server Faces - Bate Papo

Page 43: Ibes   main

FundamentosJava Server Faces

Metendo a Mao na MassaEntendendo um pouco mais o JSF

Referencias

ModelsManaged BeansEscoposExpression LanguageAcoes e NavegacaoValidacao de Campos

Criando um Managed Bean

43 / 76 Leandro Soriano Ferreira Java Server Faces - Bate Papo

Page 44: Ibes   main

FundamentosJava Server Faces

Metendo a Mao na MassaEntendendo um pouco mais o JSF

Referencias

ModelsManaged BeansEscoposExpression LanguageAcoes e NavegacaoValidacao de Campos

Criando um Managed Bean

44 / 76 Leandro Soriano Ferreira Java Server Faces - Bate Papo

Page 45: Ibes   main

FundamentosJava Server Faces

Metendo a Mao na MassaEntendendo um pouco mais o JSF

Referencias

ModelsManaged BeansEscoposExpression LanguageAcoes e NavegacaoValidacao de Campos

Criando um Managed Bean

Nomeando Managed Beans

O atributo name da anotacao @ManagedBean define como estebean sera referenciado dentro das paginas JSF. Caso nao sejadefinido, este mesmo bean sera referenciado usando o nome daclasse, com a primeira letra em minusculo.

45 / 76 Leandro Soriano Ferreira Java Server Faces - Bate Papo

Page 46: Ibes   main

FundamentosJava Server Faces

Metendo a Mao na MassaEntendendo um pouco mais o JSF

Referencias

ModelsManaged BeansEscoposExpression LanguageAcoes e NavegacaoValidacao de Campos

Escopo de um Managed Bean

Definimos o escopo de um Managed Bean atraves de anotacoescomo as exibidas abaixo. Isso define o tempo que uma instancia doManaged Beam sobrevive durante a execucao da aplicacao web.

46 / 76 Leandro Soriano Ferreira Java Server Faces - Bate Papo

Page 47: Ibes   main

FundamentosJava Server Faces

Metendo a Mao na MassaEntendendo um pouco mais o JSF

Referencias

ModelsManaged BeansEscoposExpression LanguageAcoes e NavegacaoValidacao de Campos

Escopo de um Managed Bean

@RequestScoped

O managed bean permanece vivo (visıvel) durante o tempo de vidade uma requisicao HTTP. Criado no inıcio da requisicao HTTP edestruıdo quando a resposta HTTP associada a requisicao forencerrada.

47 / 76 Leandro Soriano Ferreira Java Server Faces - Bate Papo

Page 48: Ibes   main

FundamentosJava Server Faces

Metendo a Mao na MassaEntendendo um pouco mais o JSF

Referencias

ModelsManaged BeansEscoposExpression LanguageAcoes e NavegacaoValidacao de Campos

Escopo de um Managed Bean

@SessionScoped

O managed bean vive durante o tempo em que a sessao HTTPviver. E criada na primeira requisicao HTTP e destruıda quando asessao HTTP for invalidada.

48 / 76 Leandro Soriano Ferreira Java Server Faces - Bate Papo

Page 49: Ibes   main

FundamentosJava Server Faces

Metendo a Mao na MassaEntendendo um pouco mais o JSF

Referencias

ModelsManaged BeansEscoposExpression LanguageAcoes e NavegacaoValidacao de Campos

Escopo de um Managed Bean

@ViewScoped

O managed bean permanece vivo enquanto o usuario interagir coma mesma pagina JSF na janela/aba do navegador web. O bean ecriado durante uma requisicao HTTP e destruıdo quando o usuariomudar de pagina JSF.

49 / 76 Leandro Soriano Ferreira Java Server Faces - Bate Papo

Page 50: Ibes   main

FundamentosJava Server Faces

Metendo a Mao na MassaEntendendo um pouco mais o JSF

Referencias

ModelsManaged BeansEscoposExpression LanguageAcoes e NavegacaoValidacao de Campos

Escopo de um Managed Bean

@ApplicationScoped

O managed bean vive enquanto a aplicacao web viver. E criadodurante a primeira requisicao HTTP que fizer mencao a este bean(ou se configuracao especıfica disser o contrario) e e destruıdoquando a aplicacao web for encerrada.

50 / 76 Leandro Soriano Ferreira Java Server Faces - Bate Papo

Page 51: Ibes   main

FundamentosJava Server Faces

Metendo a Mao na MassaEntendendo um pouco mais o JSF

Referencias

ModelsManaged BeansEscoposExpression LanguageAcoes e NavegacaoValidacao de Campos

Escopo de um Managed Bean

@NoneScoped

O managed bean vive apenas durante o perıodo de avaliacao deuma EL (Expression Language).

51 / 76 Leandro Soriano Ferreira Java Server Faces - Bate Papo

Page 52: Ibes   main

FundamentosJava Server Faces

Metendo a Mao na MassaEntendendo um pouco mais o JSF

Referencias

ModelsManaged BeansEscoposExpression LanguageAcoes e NavegacaoValidacao de Campos

Expression Language

Fornecem um mecanismo importante para habilitar a camada deapresentacao (paginas web) a se comunicar com a logica daaplicacao (managed beans)a.

aOracle, Immediate and Deferred Evaluation Syntax.

52 / 76 Leandro Soriano Ferreira Java Server Faces - Bate Papo

Page 53: Ibes   main

FundamentosJava Server Faces

Metendo a Mao na MassaEntendendo um pouco mais o JSF

Referencias

ModelsManaged BeansEscoposExpression LanguageAcoes e NavegacaoValidacao de Campos

Syntax de Avaliacao Imediata

Todas as expressoes que usam a sintaxe ${} sao avaliadasimediatamente. Estas expressoes podem ser utilizadas apenas comtemplates ou como valores de atributos de tags que aceitamvalores de expressoes em tempo de execucaoa.

aOracle, Immediate and Deferred Evaluation Syntax.

<fmt : formatNumbervalue=”${ 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

Page 54: Ibes   main

FundamentosJava Server Faces

Metendo a Mao na MassaEntendendo um pouco mais o JSF

Referencias

ModelsManaged BeansEscoposExpression LanguageAcoes e NavegacaoValidacao de Campos

Syntax de Avaliacao Tardia

Tomam a forma de #{expr} e podem ser avaliadas em outras fasesdo ciclo de vida da pagina JSFa.

aOracle, Immediate and Deferred Evaluation Syntax.

<h : i n p u t T e x t i d=”name”value=”#{customer . name}” />

54 / 76 Leandro Soriano Ferreira Java Server Faces - Bate Papo

Page 55: Ibes   main

FundamentosJava Server Faces

Metendo a Mao na MassaEntendendo um pouco mais o JSF

Referencias

ModelsManaged BeansEscoposExpression LanguageAcoes e NavegacaoValidacao de Campos

55 / 76 Leandro Soriano Ferreira Java Server Faces - Bate Papo

Page 56: Ibes   main

FundamentosJava Server Faces

Metendo a Mao na MassaEntendendo um pouco mais o JSF

Referencias

ModelsManaged BeansEscoposExpression LanguageAcoes e NavegacaoValidacao de Campos

56 / 76 Leandro Soriano Ferreira Java Server Faces - Bate Papo

Page 57: Ibes   main

FundamentosJava Server Faces

Metendo a Mao na MassaEntendendo um pouco mais o JSF

Referencias

ModelsManaged BeansEscoposExpression LanguageAcoes e NavegacaoValidacao de Campos

Componentes como CommandButton e CommandLink do JSF saoutilizados para realizar acoes, como submeter um formulario enavegar para outra pagina.a

aOracle, Immediate and Deferred Evaluation Syntax.

57 / 76 Leandro Soriano Ferreira Java Server Faces - Bate Papo

Page 58: Ibes   main

FundamentosJava Server Faces

Metendo a Mao na MassaEntendendo um pouco mais o JSF

Referencias

ModelsManaged BeansEscoposExpression LanguageAcoes e NavegacaoValidacao de Campos

Criando um formulario de dados

58 / 76 Leandro Soriano Ferreira Java Server Faces - Bate Papo

Page 59: Ibes   main

FundamentosJava Server Faces

Metendo a Mao na MassaEntendendo um pouco mais o JSF

Referencias

ModelsManaged BeansEscoposExpression LanguageAcoes e NavegacaoValidacao de Campos

Criando uma listagem dos dados

59 / 76 Leandro Soriano Ferreira Java Server Faces - Bate Papo

Page 60: Ibes   main

FundamentosJava Server Faces

Metendo a Mao na MassaEntendendo um pouco mais o JSF

Referencias

ModelsManaged BeansEscoposExpression LanguageAcoes e NavegacaoValidacao de Campos

Metodo para salvar

60 / 76 Leandro Soriano Ferreira Java Server Faces - Bate Papo

Page 61: Ibes   main

FundamentosJava Server Faces

Metendo a Mao na MassaEntendendo um pouco mais o JSF

Referencias

ModelsManaged BeansEscoposExpression LanguageAcoes e NavegacaoValidacao de Campos

Metodo para preencher o formulario com item da lista

61 / 76 Leandro Soriano Ferreira Java Server Faces - Bate Papo

Page 62: Ibes   main

FundamentosJava Server Faces

Metendo a Mao na MassaEntendendo um pouco mais o JSF

Referencias

ModelsManaged BeansEscoposExpression LanguageAcoes e NavegacaoValidacao de Campos

Metodo para excluir da listagem

62 / 76 Leandro Soriano Ferreira Java Server Faces - Bate Papo

Page 63: Ibes   main

FundamentosJava Server Faces

Metendo a Mao na MassaEntendendo um pouco mais o JSF

Referencias

ModelsManaged BeansEscoposExpression LanguageAcoes e NavegacaoValidacao de Campos

Resultado

63 / 76 Leandro Soriano Ferreira Java Server Faces - Bate Papo

Page 64: Ibes   main

FundamentosJava Server Faces

Metendo a Mao na MassaEntendendo um pouco mais o JSF

Referencias

ModelsManaged BeansEscoposExpression LanguageAcoes e NavegacaoValidacao de Campos

Ciclo de Vida - Validacao

64 / 76 Leandro Soriano Ferreira Java Server Faces - Bate Papo

Page 65: Ibes   main

FundamentosJava Server Faces

Metendo a Mao na MassaEntendendo um pouco mais o JSF

Referencias

ModelsManaged BeansEscoposExpression LanguageAcoes e NavegacaoValidacao de Campos

65 / 76 Leandro Soriano Ferreira Java Server Faces - Bate Papo

Page 66: Ibes   main

FundamentosJava Server Faces

Metendo a Mao na MassaEntendendo um pouco mais o JSF

Referencias

ModelsManaged BeansEscoposExpression LanguageAcoes e NavegacaoValidacao de Campos

Mensagens

Exibindo mensagens de erro no topo do formulario

66 / 76 Leandro Soriano Ferreira Java Server Faces - Bate Papo

Page 67: Ibes   main

FundamentosJava Server Faces

Metendo a Mao na MassaEntendendo um pouco mais o JSF

Referencias

ModelsManaged BeansEscoposExpression LanguageAcoes e NavegacaoValidacao de Campos

Validando campos obrigatorios

67 / 76 Leandro Soriano Ferreira Java Server Faces - Bate Papo

Page 68: Ibes   main

FundamentosJava Server Faces

Metendo a Mao na MassaEntendendo um pouco mais o JSF

Referencias

ModelsManaged BeansEscoposExpression LanguageAcoes e NavegacaoValidacao de Campos

Validando formato de dados nos campos

68 / 76 Leandro Soriano Ferreira Java Server Faces - Bate Papo

Page 69: Ibes   main

FundamentosJava Server Faces

Metendo a Mao na MassaEntendendo um pouco mais o JSF

Referencias

ModelsManaged BeansEscoposExpression LanguageAcoes e NavegacaoValidacao de Campos

Habilitando validacao no cliente (navegador)

69 / 76 Leandro Soriano Ferreira Java Server Faces - Bate Papo

Page 70: Ibes   main

FundamentosJava Server Faces

Metendo a Mao na MassaEntendendo um pouco mais o JSF

Referencias

ModelsManaged BeansEscoposExpression LanguageAcoes e NavegacaoValidacao de Campos

Desabilitando validacoes para o botao de excluir

70 / 76 Leandro Soriano Ferreira Java Server Faces - Bate Papo

Page 71: Ibes   main

FundamentosJava Server Faces

Metendo a Mao na MassaEntendendo um pouco mais o JSF

Referencias

ModelsManaged BeansEscoposExpression LanguageAcoes e NavegacaoValidacao de Campos

71 / 76 Leandro Soriano Ferreira Java Server Faces - Bate Papo

Page 72: Ibes   main

FundamentosJava Server Faces

Metendo a Mao na MassaEntendendo um pouco mais o JSF

Referencias

ModelsManaged BeansEscoposExpression LanguageAcoes e NavegacaoValidacao de Campos

Duvidas??? Perguntas???

72 / 76 Leandro Soriano Ferreira Java Server Faces - Bate Papo

Page 73: Ibes   main

FundamentosJava Server Faces

Metendo a Mao na MassaEntendendo um pouco mais o JSF

Referencias

Referencias I

Wagner Andrade. Afinal, o que e HTTP? Acessado em: 18de novembro de 2013. Mar. de 2009. enderecoeletronico:http://imasters.com.br/artigo/11513/redes-e-

servidores/afinal-o-que-e-http/.

Ed Burns, Neil. Griffin e Chris. Schalk. JavaServer faces 2.0.Osborne/McGraw-Hill, 2010.

Caelum. Introducao ao JSF e Primefaces. Acessado em: 18de novembro de 2013. 2013. endereco eletronico:http://www.caelum.com.br/apostila-java-testes-

jsf-web-services-design-patterns/introducao-ao-

jsf-e-primefaces/.

73 / 76 Leandro Soriano Ferreira Java Server Faces - Bate Papo

Page 74: Ibes   main

FundamentosJava Server Faces

Metendo a Mao na MassaEntendendo um pouco mais o JSF

Referencias

Referencias II

Kito D Mann. Java Server Faces in Action. DreamtechPress, 2005.

Oracle. Immediate and Deferred Evaluation Syntax.Acessado em: 18 de novembro de 2013. 2013. enderecoeletronico: http://docs.oracle.com/javaee/6/tutorial/doc/bnahr.html.

Primefaces. Primefaces. Acessado em: 18 de novembro de2013. 2013. endereco eletronico:http://www.primefaces.org/.

Wikipedia. Apache Maven. Acessado em: 18 de novembro de2013. 2013. endereco eletronico:http://en.wikipedia.org/wiki/Apache_Maven.

74 / 76 Leandro Soriano Ferreira Java Server Faces - Bate Papo

Page 75: Ibes   main

FundamentosJava Server Faces

Metendo a Mao na MassaEntendendo um pouco mais o JSF

Referencias

Referencias III

Wikipedia. Model View Controller. Acessado em: 18 denovembro 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

Page 76: Ibes   main

FundamentosJava Server Faces

Metendo a Mao na MassaEntendendo um pouco mais o JSF

Referencias

76 / 76 Leandro Soriano Ferreira Java Server Faces - Bate Papo