Questão de Programação — JSP (JavaServer Pages) — FCC 2022
Programação›JSP (JavaServer Pages)
Código
fc064873
Banca
FCC
Órgão
TRT - 19ª Região (AL)
Ano
2022
Cargo
Analista Judiciário - Área Apoio Especializado Especialidade: Tecnologia da Informação
Considere resultado uma variável do tipo ResultSet, que contém os dados de um produto, resultantes de uma consulta bem-sucedida na tabela produto do banco de dados. Considere que um dos campos dessa tabela é nome, referente ao nome do produto.
Neste contexto, uma Analista deseja exibir o nome do produto dentro do campo nome de um formulário criado em uma página JSP, por meio da linha abaixo.
<input type="text" id="nome" name="nome" value=" I ">
Para que isso seja possível, a lacuna I deve ser preenchida corretamente por
A<% resultado.getValue("nome") %>
B<%= resultado.getValue("nome") %>
C<%= resultado.getString("nome") %>
D<%= resultado.StringOf("nome") %>
E<% resultado.getString("nome") %>
Revelar gabarito e comentário▾
GabaritoC — <%= resultado.getString("nome") %>
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”.
JSP (JavaServer Pages) – Exibindo dados de ResultSet em formulário HTML
Gabarito: letra C. Para exibir o valor de uma coluna do ResultSet em JSP dentro de um campo value, é necessário usar uma expressão <%= %> e o método getString("nome"). A alternativa C combina corretamente ambos.
O conteúdo do contexto (C3) define que <%= ... %> é o delimitador para expressões JSP, que inserem o resultado na saída da página. Já um scriptlet <% ... %> executa código Java mas não produz saída direta. A classe ResultSet do JDBC possui o método getString(String columnName) para obter o valor de uma coluna textual.
Alternativa A — ❌ Incorreta
<% resultado.getValue("nome") %> é um scriptlet (sem =), portanto não gera saída. Além disso, getValue não é um método válido de ResultSet.
Alternativa B — ❌ Incorreta
<%= resultado.getValue("nome") %> usa a sintaxe correta de expressão, mas o método getValue não existe na API JDBC. O correto é getString.
Alternativa C — ✅ Correta ⟵ GABARITO
<%= resultado.getString("nome") %> combina a expressão JSP (<%= %>) com o método correto getString do ResultSet, retornando o valor da coluna "nome" como String e inserindo-o no atributo value do campo HTML.
Alternativa D — ❌ Incorreta
<%= resultado.StringOf("nome") %> usa método inexistente. A sintaxe de expressão está correta, mas o método StringOf não faz parte da API de ResultSet.
Alternativa E — ❌ Incorreta
<% resultado.getString("nome") %> é um scriptlet, portanto não produz saída para o atributo value. Embora o método getString esteja correto, a falta do sinal = impede a inserção do valor na página.
NÃO CAIA NESSA!
A banca explora dois pontos: (1) confundir scriptlet (<% %>) com expressão (<%= %>) – muitos lembram do método mas esquecem o =; (2) o método getValue parece familiar mas não é o correto para extrair dados de ResultSet. Fique atento: em JSP, para exibir valores use sempre <%= %>, e para ResultSet use getString(), getInt(), etc.