O JSF extrai todos os valores digitados pelo usuário e guar...

Próximas questões
Com base no mesmo assunto
Ano: 2011 Banca: FCC Órgão: TRE-AP Prova: FCC - 2011 - TRE-AP - Programador de computador |
Q125868 Programação
O JSF extrai todos os valores digitados pelo usuário e guarda esse valor nos seus respectivos componentes. Se o valor digitado não coincidir com o componente, um erro vai ser adicionado na classe FacesContext e será mostrado na fase Render Response Phase.

No ciclo de vida do JSF trata-se de um evento típico da fase
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Alternativa correta: C - Apply Request Values Phase.

O ciclo de vida do JavaServer Faces (JSF) é composto por diversas fases. Essas fases orquestram o processamento de uma requisição HTTP desde a sua chegada ao servidor até a resposta que é enviada de volta ao cliente. Ao compreender cada fase, temos uma visão clara sobre o que ocorre durante o processamento de uma requisição e resposta em uma aplicação JSF.

O enunciado da questão destaca o momento em que os valores digitados pelo usuário são extraídos e tenta-se fazer o binding desses valores com os componentes JSF correspondentes. Se houver alguma incompatibilidade entre o valor que o usuário forneceu e o tipo de dado esperado pelo componente, um erro será registrado.

Essa etapa acontece na fase chamada de Apply Request Values Phase, que é precisamente quando os valores dos campos de entrada presentes na requisição HTTP são lidos e atribuídos aos componentes na árvore de componentes do JSF. Portanto, a Alternativa C é a correta porque descreve a fase responsável por extrair os valores da requisição e tentar aplicá-los aos componentes da view, identificando erros de conversão ou validação.

As outras fases do ciclo de vida do JSF têm funções distintas, como a Restore View Phase, que recria a árvore de componentes da view, a Process Validations Phase, que executa conversões e validações de dados, a Update Model Values Phase, que atualiza os valores dos beans com os dados que foram validados, e a Invoke Application Phase, que invoca a lógica de negócios associada à ação do usuário.

Compreender o ciclo de vida do JSF é fundamental para o desenvolvimento de aplicativos robustos e eficientes, bem como para a resolução de questões de concursos públicos que abordem frameworks Java como o JSF.

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo

Comentários

Veja os comentários dos nossos alunos

Fase 2 – Apply Request values

O propósito desta fase é fazer com que cada componente recupere se estado corrente. 
 
O Componente deve primeiro ser criado ou recuperado a partir do FacesContext, seguido por seus valores. 

Se o campo for Inteiro, o valor será convertido para um inteiro. Se a conversão falhar será adicionado no FacesContext uma mensagem de erro que será exibida durante a fase de Render response.

Cuidado com a confusão entre CONVERSÃO e VALIDAÇÃO.

A Conversão vai cuidar de fazer algo assim:



É claro que se o usuário colocar algo como:

"nasci em quatro de abril, lá no ano do senhor de 1942"

Não vai ter como o componente converter isso então será lançado um erro.

Já a validação é um processo posterior, como por exemplo validação de valores mínimos e máximos.


<f:validate>

É claro que o objetivo sem futuro da banca foi esse mesmo.




Aqui tem o conceito das outras fases: http://www.dsc.ufcg.edu.br/~jacques/cursos/daca/html/jsf/jsf.htm
Segue o ciclo de vida completo do JSF: (por essa definição a questão a fase correta seria a 3 - Validação do processo.) Ref: http://pt.wikipedia.org/wiki/JavaServer_Faces#Ciclo_de_vida

1. Restauração da visão (MCV - controller no FaceServlet) - o objetivo principal desta fase é construir a árvores de componentes. Ela utiliza o template e cria a árvore inicial através da análise da requisição. Após isto, ela salva o estado da árvore no objeto FacesContext. Nas requisições subsequentes, ela cria a árvore do estado e procede a execução do resto do ciclo de vida.

2. Aplicação dos valores de requisição (MCV - controller no FaceServlet)- o JSF pega cada componente da árvore começando com a raiz e a cria ou recupera do objeto FacesContext. Cada componente na árvore gerencia seus próprios valores e toma-os dos parâmetros, cookies e cabeçalhos da requisição HTTP.

3. Validações de processo - (MCV - controller nos managed beans)o JSF realiza a conversão e validação sobre todos os componentes começando com o raiz. O valor submetido de cada componente é convertido em um objeto e validado chamando-se o validador registrado. O JSF salva o valor submetido. Se ocorrer um erro durante a conversão ou validação, o ciclo de vida escapa diretamente para a fase de "apresentação da resposta".

4. Atualização de valores de modelo (MCV - controller nos managed beans atuando no Modelo)- durante esta fase, o valor do componente é passado para o modelo através da atualização das propriedades dos backing beans.

5. Invocação da aplicação (MCV - controller nos managed beans atuando na View)- a manipulação de evento para cada action e listener de action é executada começando com o(s) listener(s) de action e então a chamada do método da action.

6. Apresentação da resposta - momento é que a View retorna ao usuário.

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo