SóProvas


ID
836503
Banca
CESPE / CEBRASPE
Órgão
ANAC
Ano
2012
Provas
Disciplina
Programação
Assuntos

Com relação ao desenvolvimento Java, julgue os itens a seguir.

Na fase de submissão de valores via request do JSF, caso a conversão de um valor falhe, uma mensagem de erro associado com o componente é gerada, devolvida para FacesContext e exibida para o usuário, parando-se imediatamente o processamento a partir desse ponto.

Alternativas
Comentários
  • Alguém poderia dizer o erro dessa questão?
    Quando um request falha na fase de conversão este request é abortado e uma mensagem é adicionado no FacesContext.
    Marquei como certo
  • Não tenho certeza, mas acredito que o erro tenha sido a frase: "parando-se imediatamente o processamento a partir desse ponto".
  • Na verdade o processamento não é parado imediatamente, de acordo com o ciclo de vida do JSF (http://javafree.uol.com.br/artigo/886703/Trabalhando-com-componentes-do-Framework-JSF-20-e-RICHFACES-4.html), ao processar as validações a String com o valor enviado é convertida para o tipo correto do objeto. Caso ocorra algum erro de validação uma mensagem de erro é adicionada no FacesContext, o componente é marcado como inválido e a implementação JSF invoca a fase Render Response, Renderizando a visão ao usuário levando a(s) mensagem(s) de erro(s). No caso de erro o fluxo normal do JSF é alterado mas não para imediatamente como diz na questão.

    Fonte: http://javafree.uol.com.br/artigo/886703/Trabalhando-com-componentes-do-Framework-JSF-20-e-RICHFACES-4.html

     

  • não é na fase de apply request values que há conversão e validação, mas sim na fase de process validations

  • Acho que é como o Raphael falou. O erro de validação ocorre na fase "process validation", seguinte à "apply request". Figura "10-1 JavaServer Faces Standard Request-Response Lifecycle" no link abaixo mostra bem isso. O processamento é parado imediatamente e devolvido a resposta da requisição.

    http://docs.oracle.com/javaee/6/tutorial/doc/bnaqq.html
  • Apply Request Values Phase

    If some components on the page have their immediate attributes set to true, then the validations, conversions, and events associated with these components will be processed during this phase. If any conversion fails, an error message associated with the component is generated and queued on FacesContext. This message will be displayed during the Render Response phase, along with any validation errors resulting from the Process Validations phase. 

    Então é o seguinte:

    Tudo certinho, exceto pelo "e exibida para o usuário, parando-se imediatamente o processamento a partir desse ponto"

    A exibição é feita pela fase de renderização da resposta.