Para finalizar esta primeira série de posts sobre JSF iremos conhecer as fases do ciclo de vida do JSF. O ciclo JSF possui as 6 fases descritas abaixo:
Restaurar Visão
Esta fase é responsável por criar e/ou reconstruir a árvore de componentes da página.
Aplicar Valores de Requisição
Fase que verifica e distribui os valores requisitados para os objetos que compoem a árvore de componentes.
Processar Validações
Fase conversora dos valores digitados, no formulário, em objetos para realizar as validações implementadas.
Atualizar Valores do Modelo
Fase responsável por atribuir os valores validados para os beans da aplicação.
Invocar a Aplicação
Esta fase invoca o método especificado na propriedade value do componente UICommand.
Renderizar Resposta
Fase que codifica a resposta e envia para o browser.
Esta ordem das fases é mantida no curso normal da requisição. Entretanto o curso pode sofrer alteração quando a requisição enviada não tiver todos os dados necessários. Isto gera a execução da Renderização da Resposta logo após a Restauração da Visão.
É importante lembrar que podem existir processamento de eventos entre as fases. Isto é, os eventos podem ser processados antes e depois da Invocação da Aplicação.
Abaixo temos a figura que representa o ciclo de vida completo do JSF:
Assim finalizamos o primeiro contato com a especificação JSF.
No próximo post começaremos a aplicar os conceitos vistos até o momento.
Até breve 😉
Valeu por compartilhar seu conhecimento sobre como utilizar JSF.
humm verdade!
cheguei até de dar uma olhada na revista Mundo Java deste mês…. tem um materia específica para o JSF 2.0 mostrando as coisas novas!! vou dar uma verificada mais aprofundada… =)
valeu!
Brena, vou pertubar você mais um pouco… =D
gostaria de saber, se ao invés de mapear os beans no
faces-config.xml tem alguma forma de utilizar anotações para fazer o mesmo?!?
Tem sim, através do JSF 2.0, ainda não utilizei, mas pretendo testar em breve.
http://www.ibm.com/developerworks/java/library/j-jsf2fu1/index.html
hum…. funcionou!!
coloquei vários “navigation-case” em um único “navigation-rule” e funcionou…
será que há outra forma de setar isso, pois pensa se o sistema tiver várias páginas e cada uma tenha inúmeros “navigation-case”… o faces-config.xml ficaria enorme, né!
Você fez corretamente e está certo quanto ao crescimento do arquivo se o projeto for grande.
Para isso são utilizadas outras formas de navegação que não são definidas no faces-config.xml.
Isto é, uma navegação mais dinâmica, onde não é necessário ir para outra página, controlando a exibição dos componentes de acordo com as ações do usuário.
Não sei se você conhece, mas o Facelets auxilia nisso também 😉
humm interessante!
é estou implementando um projeto com JSF e Facelets. esse auxílio seria com os componentes do Ajax que o Facelets pode utilizar?!?
Como o Facelets é um framework de templates, ele permite que você monte uma página principal e só altere o conteúdo interno. Então você não precisa de fazer a navegação pelo faces-config.xml
Eu utilizo o RichFaces como componentes e fica bem legal 😉
certo! essa é minha intensão
utilizar também o RichFaces
intenção* =P
oks Brena, compreendo! ;]
sim, estou declarando a navegação no faces-config.xml,
quando eu declaro dentro de “navigation-rule” um “navigation-case” para cada ação, funciona, mas quando coloco vários “navigation-case” dentro de um único “navigation-rule”, pelo que analisei o JSF encontra apenas o 1º “navigation-case”.
Add ok!
olá Brena,
parabéns pelos post, grandes sábios compartilham seus conhecimentos! =]
– um dúvida referente à regra de navegação no JSF!
para uma página posso ter inúmeros casos de navegação(), então para cada action eu preciso declarar o “case” e o (destinatário)?!?
obrigado!
Att. Murilo Moreira
Ei Murilo.
Agradeço pela visita e pelo comentário, e informo-lhe que o próximo post será sobre navegação, só não saiu ainda devido à semana de provas na faculdade 😉
Você está fazendo a navegação pelo faces-config.xml?
Pode me adicionar pra gente trocar idéias sobre isso http://meadiciona.com/monteirobrena
Até breve.
Excelente a série de artigos! Parabens pela iniciativa.
Muito obrigada, Paulo.
Receber um elogio seu é uma grande honra.
Abraço 😉
Muito legal estes posts. Ajuda muito a galera que está começando. E é sempre bom revisar esses passos.
_o/
Valeu Fred!
Esta parte teórica falta pra quem começa a mexer com JSF só na execução.
Sempre acompanho seu blog, hoje mesmo usei seu post sobre JSF com JavaScript!
http://www.web4u.eti.br/2008/01/25/javascript-popup-jsf/
Abraços 😉