Como listar Collection em um JSP usando FOR?

2 respostas
A

Boa noite!

Estou com dificuldade para entender como passo meu Collection do Servlet para o JSP.
O que deve entrar no bloco do FOR?

Segue o código:

CLASSE JAVA

import java.io.IOException;
import java.util.Collection;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 *
 * @author paulo
 */
public class Imprime extends HttpServlet {

    /** 
     * Processes requests for both HTTP <code>GET</code> and <code>POST</code> methods.
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        String cpf = request.getParameter("cpf");
        String nome = request.getParameter("nome");
        String nascimento = request.getParameter("nascimento");
        String endereco = request.getParameter("endereco");
        String telefone = request.getParameter("telefone");
        String email = request.getParameter("email");

        Cliente c = new Cliente();

        c.setcpf(cpf);
        c.setnome(nome);
        c.setnascimento(nascimento);
        c.setendereco(endereco);
        c.settelefone(telefone);
        c.setemail(email);

        ClienteDAO dao = new ClienteDAO();
        int r = dao.inserirCliente(c);

        request.setAttribute("resultado", r);

        Collection<Cliente> clientes = dao.selecionarTodos();
        
        request.setAttribute("lista", clientes);
        
        System.out.println("------------------------CONSULTA--------------------------");
        System.out.println("CPF         NOME       NASCIMENTO ENDEREÇO   TELEFONE   EMAIL");
        for (Cliente Cadastro : clientes) {//vai percorrer a colecao e retorna em Cadastro item colecao
            System.out.println(Cadastro);         
        }

        RequestDispatcher disp = request.getRequestDispatcher("resultado.jsp");
        disp.forward(request, response);

    }

    // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
    /** 
     * Handles the HTTP <code>GET</code> method.
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        processRequest(request, response);
    }

    /** 
     * Handles the HTTP <code>POST</code> method.
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        processRequest(request, response);
    }

    /** 
     * Returns a short description of the servlet.
     * @return a String containing servlet description
     */
    @Override
    public String getServletInfo() {
        return "Short description";
    }// </editor-fold>
}

JSP

<%-- 
    Document   : resultado
    Created on : Oct 28, 2009, 1:40:12 AM
    Author     : paulo
--%>

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@ page import="java.util.ArrayList"%>
<%@ page import="java.util.Collection"%>



<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
    </head>
    <body>
        <table>
        </table>
        <%
        int r = (Integer) request.getAttribute("resultado");

        Collection<Cliente> c = (Collection) request.getAttribute("lista");

        for (Cliente obj : c) {%>


        <%}


        //Collection<Cliente> clientes=(Collection<Cliente>)
        //request.getAttribute("lista", clientes);


        %>

        &lt;%=r%&gt;<br>

Vlw pessoal!

2 Respostas

Andre_Fonseca

Sugiro a voce usar JSTL, ai podera interar diretamente na lista

Dê uma lida na apostila da caelum de desenvolvimento web que você vai entender como funciona…

carlosastro

André Fonseca:
Sugiro a voce usar JSTL, ai podera interar diretamente na lista

Dê uma lida na apostila da caelum de desenvolvimento web que você vai entender como funciona…

Só tem como fazer isto pelo JSTL? Ou esta é a melhor forma de fazer isto?

Eu já dei uma olhada nesta apostila. Mas não consegui entender muito não. Mas vou olhar novamente.

Criado 26 de novembro de 2009
Ultima resposta 15 de jun. de 2010
Respostas 2
Participantes 3