JSF - Ciclo de Vida
O ciclo de vida do aplicativo JSF consiste em seis fases, que são as seguintes -
- Fase de visualização de restauração
- Aplicar fase de valores de solicitação; eventos de processo
- Fase de validação do processo; eventos de processo
- Fase de atualização dos valores do modelo; eventos de processo
- Chamar fase de aplicação; eventos de processo
- Fase de resposta de renderização
As seis fases mostram a ordem em que o JSF processa um formulário. A lista mostra as fases em sua provável ordem de execução com processamento de eventos em cada fase.
Fase 1: Restaurar vista
O JSF começa a fase de restauração da visualização assim que um link ou botão é clicado e o JSF recebe uma solicitação.
Durante esta fase, o JSF constrói a visualização, conecta manipuladores de eventos e validadores aos componentes da IU e salva a visualização na instância FacesContext. A instância FacesContext agora conterá todas as informações necessárias para processar uma solicitação.
Fase 2: Aplicar valores de solicitação
Depois que a árvore de componentes é criada / restaurada, cada componente na árvore de componentes usa o método de decodificação para extrair seu novo valor dos parâmetros de solicitação. O componente armazena esse valor. Se a conversão falhar, uma mensagem de erro será gerada e enfileirada no FacesContext. Esta mensagem será exibida durante a fase de resposta de renderização, juntamente com quaisquer erros de validação.
Se qualquer ouvinte de evento de método de decodificação chamado renderResponse na instância FacesContext atual, o JSF passa para a fase de resposta de renderização.
Fase 3: validação do processo
Durante esta fase, o JSF processa todos os validadores registrados na árvore de componentes. Ele examina as regras de atributo do componente para a validação e compara essas regras com o valor local armazenado para o componente.
Se o valor local for inválido, o JSF adiciona uma mensagem de erro à instância FacesContext e o ciclo de vida avança para a fase de resposta de renderização e exibe a mesma página novamente com a mensagem de erro.
Fase 4: Atualizar os valores do modelo
Depois que o JSF verifica se os dados são válidos, ele percorre a árvore de componentes e define as propriedades do objeto do lado do servidor correspondentes para os valores locais dos componentes. O JSF atualizará as propriedades do bean correspondentes ao atributo de valor do componente de entrada.
Se algum método updateModels for chamado de renderResponse na instância FacesContext atual, o JSF irá para a fase de resposta de renderização.
Fase 5: invocar aplicativo
Durante esta fase, o JSF lida com qualquer evento de nível de aplicativo, como enviar um formulário / link para outra página.
Fase 6: Renderizar a resposta
Durante esta fase, o JSF pede ao servidor de contêiner / aplicativo para renderizar a página se o aplicativo estiver usando páginas JSP. Para a solicitação inicial, os componentes representados na página serão adicionados à árvore de componentes conforme o contêiner JSP executa a página. Se esta não for uma solicitação inicial, a árvore de componentes já está construída, portanto os componentes não precisam ser adicionados novamente. Em ambos os casos, os componentes serão renderizados conforme o contêiner JSP / servidor de aplicativos atravessa as tags na página.
Depois que o conteúdo da visualização é renderizado, o estado de resposta é salvo para que as solicitações subsequentes possam acessá-lo e ficar disponível para a fase de restauração da visualização.