SóProvas


ID
1755898
Banca
FCC
Órgão
TRT - 9ª REGIÃO (PR)
Ano
2015
Provas
Disciplina
Programação
Assuntos

Em uma servlet de uma aplicação web construída com Java EE, os dados de um objeto do tipo ArrayList chamado listaFun, contendo um conjunto de objetos de uma classe bean chamada Funcionario, foram incluídos em um atributo de requisição chamado funcionarios, enviado para um arquivo chamado exibefun.jsp. Estas operações foram realizadas pelo fragmento de código a seguir:

request.setAttribute("funcionarios", listaFun); 
RequestDispatcher disp = request.getRequestDispatcher("exibefun.jsp");; 
disp.forward(request, response);

No arquivo exibefun.jsp, para receber o atributo de requisição funcionarios, no interior de uma tag de scriptlet pode-se utilizar a instrução

Alternativas
Comentários
  • Renato, então o gabarito tá errado?
    Não entendi. Alguém explica essa questão?

  • O site não escreveu direito a questão por causa dos caracteres ' < ' e ' > '

    Como colocado por outro colega as opções eram:

     

    (A) ArrayList funcionarios = response.getAttribute("funcionarios").toArrayList();
    (B) ArrayList< Funcionario > funcionarios = request.getAttribute("funcionarios");
    (C) ArrayList funcionarios = (ArrayList) response.getAttribute("funcionarios");
    (D) ArrayList funcionarios = (Funcionario) request.getAttribute("funcionarios");
    (E) ArrayList< Funcionario > funcionarios = (ArrayList< Funcionario >) request.getAttribute ("funcionarios");

     

    (A) ArrayList funcionarios = response.getAttribute("funcionarios").toArrayList(); ERRADO - é request
    (B) ArrayList< Funcionario > funcionarios = request.getAttribute("funcionarios"); ERRADO - getAttribute retorna Object - faltou o cast
    (C) ArrayList funcionarios = (ArrayList) response.getAttribute("funcionarios"); ERRADO - é request
    (D) ArrayList funcionarios = (Funcionario) request.getAttribute("funcionarios"); ERRADO - o getAttribute retornará um array e não o objeto Funcionario
    (E) ArrayList< Funcionario > funcionarios = (ArrayList< Funcionario >) request.getAttribute ("funcionarios"); CERTO - cast correto

     

    O que você precisa saber nessa questão é que o getAttribute retorna um Object por isso é necessário um cast (conversão de tipo) para o tipo retornado pelo getAttribute.

     

    http://docs.oracle.com/javaee/6/api/javax/servlet/ServletRequest.html

    https://en.wikipedia.org/wiki/Type_conversion

    http://stackoverflow.com/questions/19766963/passing-arraylist-from-servlet-to-jsp