Questão FC373609
Em uma servlet, de um site desenvolvido em Java, o fragmento de código abaixo retorna uma lista de processos para o arquivo exibir_processos.jsp. ProcessosDao dados = new Processos
Plataforma Java EE
FCC · 2021
Em uma servlet, de um site desenvolvido em Java, o fragmento de código abaixo retorna uma lista de processos para o arquivo exibir_processos.jsp.
ProcessosDao dados = new ProcessosDao();
ArrayList<Processo> listaProcessos = dados.consultar(processo);
request.setAttribute("retornaProcessos", listaProcessos);
RequestDispatcher disp = request.getRequestDispatcher("exibir_processos.jsp");
disp.forward(request, response);
No arquivo exibir_processos.jsp, para receber a lista de processos, utiliza-se a instrução
- <%ArrayList<Processo> listaProcessos = request.getAttribute ("retornaProcessos");%>
- <%ArrayList<Processo> listaProcessos = (Processo) request.getList("retornaProcessos");%>
- <%ArrayList<Processo> listaProcessos = ${retornaProcessos};%>
- <%ArrayList<Processo> listaProcessos = (ArrayList<Processo>) request.getAttribute ("retornaProcessos");%>
- <%ArrayList listaProcessos = (ArrayList<Processo>) $_REQUEST.getParameter ("retornaProcessos");%>
Mostrar resposta e comentário
Gabarito
D
Comentário do professor
Na JSP, a instrução correta é um scriptlet que recupera o objeto salvo pelo servlet no escopo da request. O método request.getAttribute retorna um Object, por isso é necessário o casting para o tipo original: ArrayList<Processo>.
O nome usado em getAttribute("retornaProcessos") deve ser exatamente o mesmo definido no servlet com request.setAttribute. Como o servlet encaminhou a requisição com RequestDispatcher.forward, a lista fica disponível na mesma request recebida pela JSP.
Portanto, a linha <% ArrayList<Processo> listaProcessos = (ArrayList<Processo>) request.getAttribute("retornaProcessos"); %> recupera corretamente a lista, permitindo em seguida iterá‑la ou exibi‑la na página.
Conteúdo do catálogo FC Concursos · Atualizado em