Pular para o conteúdo principal

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

ProgramaçãoJSP (JavaServer Pages)
Código
fc064604
Banca
FCC
Órgão
TRT - 17ª Região (ES)
Ano
2022
Cargo
Analista Judiciário - Área Apoio Especializado - Especialidade Tecnologia da Informação
Em uma servlet Java de uma aplicação web em condições ideais, uma lista de objetos do tipo Departamento, contendo os dados de departamentos de uma empresa, foi encapsulada e enviada para uma página JSP chamada listarDeps.jsp, por meio do bloco de código abaixo.

List deps = dao.buscarDeps();
request.setAttribute("deps", deps);
disp = request.getRequestDispatcher("listarDeps.jsp");
disp.forward(request, response);

Na página listarDeps.jsp, após os recursos necessários serem importados, para receber essa lista utiliza-se a instrução
  1. A<% List deps = request.getAttribute("deps"); %>
  2. B<% List deps = request.getAttribute("deps").toList(); %>
  3. C<% List deps = List() request.getAttribute("deps"); %>
  4. D<% List deps = (List) request.getParameter("deps"); %>
  5. E<% List deps = (List) request.getAttribute("deps"); %>
Revelar gabarito e comentário

GabaritoE — <% List deps = (List) request.getAttribute("deps"); %>

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: Recuperação de atributos do request

Gabarito: letra E. Para receber uma lista enviada via request.setAttribute em uma página JSP, a instrução correta é usar request.getAttribute com o cast apropriado para List, conforme a alternativa E.

O código no servlet armazena a lista como atributo do request sob o nome "deps". Na JSP, o método getAttribute retorna um Object, por isso é necessário fazer o cast explícito para List. A sintaxe correta é:

<% List deps = (List) request.getAttribute("deps"); %>

Alternativa A — ❌ Incorreta

<% List deps = request.getAttribute("deps"); %> — Falta o cast. getAttribute retorna Object, não pode ser atribuído diretamente a List sem conversão. Gera erro de compilação.

Alternativa B — ❌ Incorreta

<% List deps = request.getAttribute("deps").toList(); %> — Não existe método toList() em Object. Além disso, ainda faltaria o cast. Sintaxe inválida.

Alternativa C — ❌ Incorreta

<% List deps = List() request.getAttribute("deps"); %> — Sintaxe Java inválida. Não se chama construtor dessa forma; faltam operadores e cast.

Alternativa D — ❌ Incorreta

<% List deps = (List) request.getParameter("deps"); %>getParameter é usado para parâmetros de requisição (query string ou formulário), não para atributos. Atributos são recuperados com getAttribute. Além disso, getParameter retorna String, não pode ser cast para List.

Alternativa E — ✅ Correta ⟵ GABARITO

<% List deps = (List) request.getAttribute("deps"); %> — Sintaxe correta: uso de getAttribute com cast explícito para List.

NÃO CAIA NESSA!

A banca troca getAttribute por getParameter (alternativa D). Lembre-se: getParameter é para dados do cliente (formulário/URL), enquanto getAttribute é para objetos compartilhados no servidor (forward, include).

Gabarito: letra E

Link permanente: /questoes/fc064604