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.