← Questões de Programação

Programação · FCPC · 2025

Questão comentada de Programação

Considere a seguinte página JSF: Sabendo que a classe MeuBean está configurada como @ManagedBean e possui os métodos getValor, setValor e enviar, analise as alternativas sobre o comportamento da aplicação e assinale a correta.

Gabarito: B

No JSF, quando voce usa um campo de entrada ligado a um atributo do bean com #{meuBean.valor}, o framework faz o trabalho chato por voce: primeiro ele converte e valida o que foi digitado, e depois atualiza o modelo, isto e, chama o setter correspondente. So depois disso o metodo de acao do botao, como enviar, e executado. Essa ordem faz parte do ciclo de vida do JSF e e o ponto central da questao. Por isso, ao clicar em "Enviar", o valor digitado no inputText nao fica preso na tela nem some no limbo: ele e transferido para o atributo do bean antes da chamada da acao. Se estiver tudo certo com conversao e validacao, o JSF segue para a fase de Update Model Values e depois Invokes Application. A alternativa B esta correta justamente por descrever esse comportamento padrao. Em termos doutrinarios, o JSF foi desenhado para ser um framework baseado em componentes e em ciclo de vida gerenciado, onde o binding entre a interface e o bean acontece de forma automatica. E por isso que voce normalmente nao precisa setar valor manualmente no metodo enviar. Resumo prático: primeiro o JSF lê o campo, depois atualiza o bean, e so entao executa a acao do botao. Se voce lembrar dessa ordem, metade das questoes de JSF ja perde a forca.

Continue treinando

Questões relacionadas