Pular para o conteúdo principal

Questão de Programação — JSP (JavaServer Pages) — FCC 2023

ProgramaçãoJSP (JavaServer Pages)
Código
fc069844
Banca
FCC
Órgão
TRT - 15ª Região (SP)
Ano
2023
Nível
Médio
Cargo
Técnico Judiciário - Área de Apoio Especializado - Especialidade Tecnologia da Informação
Para exibir na página a propriedade ano de um bean gerenciado identificado como processo, corretamente configurado no escopo de requisição, usando a Expression Language (EL) em JavaServer Faces (JSF), utiliza-se a tag JSF
  1. A<h:outputText value="processo.ano" />
  2. B<h:inputText value="#{processo.ano}" />
  3. C<h:outputText>#{processo.ano}</h:outputText>
  4. D${processo.ano}
  5. E<h:outputText value="#{processo.ano}" />
Revelar gabarito e comentário

GabaritoE — <h:outputText value="#{processo.ano}" />

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

JSF Expression Language (EL) e Exibição de Propriedades de Managed Beans

Gabarito: letra E. Em JavaServer Faces (JSF), a Expression Language (EL) utiliza a sintaxe #{} para acesso a propriedades de managed beans. Para exibir o valor na página, usa-se a tag <h:outputText> com o atributo value contendo a expressão EL. A alternativa E apresenta exatamente essa sintaxe: <h:outputText value="#{processo.ano}" />.

Componente

Sintaxe EL

Uso

Válido em JSF?

<h:outputText>

value="#{processo.ano}"

Exibição de valor

✅ Sim

<h:inputText>

value="#{processo.ano}"

Entrada de dados

❌ Não (para exibição)

<h:outputText>

value="processo.ano"

String literal

❌ Não (sem EL)

<h:outputText>

#{processo.ano} (como corpo)

Exibição (sintaxe incorreta)

❌ Não

Qualquer tag JSF

${processo.ano}

Expressão JSP

❌ Não (sintaxe inválida)

Análise das Alternativas

Alternativa A — ❌ Incorreta

Apresenta value="processo.ano" sem a sintaxe EL. Isso seria interpretado como uma string literal, não como acesso ao bean.

Alternativa B — ❌ Incorreta

<h:inputText> é uma tag de entrada de dados (input), não de exibição. Além disso, apesar de usar #{}, o componente não é o adequado para apenas exibir o valor.

Alternativa C — ❌ Incorreta

A tag <h:outputText> espera que o valor seja passado pelo atributo value. Colocar a expressão como corpo da tag (#{processo.ano} entre a abertura e fechamento) não é a sintaxe correta.

Alternativa D — ❌ Incorreta

Usa a sintaxe ${} (JSP Expression Language), que não é válida em JSF. O JSF utiliza #{} para suas expressões, permitindo avaliação adiada (deferred evaluation).

Alternativa E — ✅ Correta ⟵ GABARITO

Combina a tag <h:outputText> com o atributo value contendo a expressão #{processo.ano}, que acessa a propriedade ano do managed bean processo no escopo de requisição.

PEGA ESSA DICA!

Em JSF, lembre-se: exibição → <h:outputText value="#{...}" />; entrada → <h:inputText value="#{...}" />. A sintaxe #{} é do JSF (deferred evaluation); ${} é do JSP e não funciona em componentes JSF.

Link permanente: /questoes/fc069844