Académique Documents
Professionnel Documents
Culture Documents
Tpico
2
Apresentao
O curso indicado para quem j tem conhecimentos da linguagem de programao JAVA e deseja iniciar o desenvolvimento de aplicaes para web com JSF. Iremos mostrar no decorrer do curso como criar uma aplicao WEB com JSF, mostrando a criao de um controle de acesso, pginas de erro, CRUDs e relatrios utilizando a ferramenta IREPORT. As aulas esto organizadas em mdulos onde os assuntos so apresentados utilizando exemplos prticos, resumos em slides, exerccios de fixao, vdeo-aulas e a possibilidade de interao com o instrutor atravs de chats. Alm disso, os alunos podero enviar dvidas e submeter material para anlises e correo pelos instrutores. maneira: 1. 2. 3. 4. Ao final do curso, todos cdigos fontes podero ser enviados ao alunos. Este curso est organizado em 10 tpicos, sendo cada um organizado da seguinte
Um arquivo PDF com o contedo do tpico que ser abordado. Uma vdeo aula mostrando de forma prtica o que foi apresentado no arquivo anterior. Um chat para que aluno possa interagir com o professor e sanar suas dvidas. Um exerccio que dever ser enviado para o professor.
Neste
tpico
iremos:
1. Importncia
dos
Conceitos
2. Ciclo
de
Vida
de
uma
aplicao
JSF
3. O
Que
um
PhaseListener?
4. Mtodos
de
Um
PhaseListener
5. Prtica
do
tpico
Vamos entender o que acontece em cada uma dessas fases. Restore View Nesta fase, a view, nossa pgina contendo nossos componentes, recuperada pelo container e caso a arvore de componentes ainda no tenha sido criada ser criada nesse momento. Apply Request Values Nesta fase, a rvore de componentes percorrida e todos os componente tem seu valor atualizado. Ou seja, nessa fase que os valores informado pelos os usurios na view so de fato armazenados nos componentes JSF. Process Validation
Nesta
fase,
os
valores
que
foram
armazenados
em
cada
componente
na
fase
anterior
so
validados
pelos
seus
respectivos
validadores,
que
verificam
se
o
dado
informado
est
de
acordo
com
o
tipo
de
dado
esperado.
Por
exemplo:
No
exemplo
acima,
temos
um
campo
texto
que
ser
valido
segundo
o
seu
tamanho.
E
a
regra
de
validao
que
o
tamanho
seja
no
mnimo
6
e
no
mximo
10.
Essa
validaoo
ser
disparada
na
fase
Validation
Process.
Update
Model
Values
Nesta
fase,
a
rvore
de
componentes
novamente
percorrida
e
cada
componente
tem
seu
modelo
atualizado.
Isso
acontece
quando
os
valores
que
esto
vinculados
esses
componentes
sofreram
alterao.
Invoke
Aplication
Nesta fase disparado um evento para todos os componentes autorizando-os a executar seus Actions e ActionListeners. Render Response Nesta fase, a viso processada e exibida ao usurio.
No exemplo acima o PhaseListener, CarrinhoCompraListener, seria disparado somente pela pgina onde a tag estiver adicionada. Tambm possvel adicionarmos um PhaseListener de forma programtica, mas isso fica para um curso.
4. Mtodos de um PhaseListener
observe que a classe LoginPhaseListener implementa a interface PhaseListener. Essa interface possui o contrato, o pr-requisito para criamos nosso PhaseListener. No contrato diz que para termos um PhaseListener temos que implementar trs mtodos: afterPhase, beforePhase e getPhaseId. Vamos enteder cada um desses mtodos: afterPhase -> Esse mtodo chamado imediatamente depois que a requisio passar por uma determinada fase do ciclo de vida. beforePhase -> Esse mtodo chamado imediatamente depois que a requisio entrar por uma determinada fase do ciclo de vida. getPhaseId -> Possui o identificador da fase em que se encontra a requisio. 5. Prtica do tpico como prtica desse tpico, eu gostaria que vocs criassem um novo PhaseListener chamado de InterceptaPhaseListener. Cdigo desse PhaseListener mostrado abaixo. Aps executar a aplicao envie uma requisio simplesmente pressionando qualquer um dos botes de sua tela de login. Em seguida veja o que aparece no console do servidor.
Veja na imagem que existe uma mensagem de antes e depois para cada uma das 6 fases do ciclo de vida, seguido do nome da fase. Era exatamente isso que espervamos. Bom, espero que consigam executar a prtica e que acima de tudo entendam o objetivo desse tpico. Em caso de dvidas vamos utilizar o frum do tpico. No prximo tpico vou mostrar como podemos explorar a API nativa do JSF2 de suporte a AJAX. Em seguida, vamos dar continuidade ao projeto evisitas. Um abrao a todos. Wagner Borges.