Array List

Ea e galera blz

Então eu fiz um arrayList aqui esta quase funcionando legal olha o código:
Nesse código eu passo duas váriaveis, uma string simples e um list:

Essa class faz a consulta no banco

/*
 * DAOUsuario.java
 *
 * Created on 17 de Julho de 2007, 22:18
 *
 * To change this template, choose Tools | Template Manager
 * and open the template in the editor.
 */

package DAO;


import java.io.*;
import java.net.*;
import java.util.*;

import java.sql.*;

import conexao.Conexao;

  

/**
 *
 * @author alexandre
 */
public class DAOUsuario 
{
    private String nome;
    private String usuario;
    
    private ResultSet rs;
    private Connection conn;
    private Statement sql; 

    /** Creates a new instance of DAOUsuario */
    public DAOUsuario() throws SQLException, IOException
    {
     conn = Conexao.connect();
    }
    
    public void setNome(String aNome) throws SQLException, IOException
    {
     nome = aNome;
     
      PreparedStatement  sql = conn.prepareStatement("select * from tabela where usuario = ?");
      sql.setString(1,nome);
      
     rs = sql.executeQuery();
      
      while(rs.next())
      {
        usuario = rs.getString("nome");
      }
     
     
     
    }
    
    public  List getLista() throws SQLException
    {
        PreparedStatement sql = conn.prepareStatement("select * from tabela");
        rs = sql.executeQuery();
        
        List lista = new ArrayList();
        
        while(rs.next())
        {
            lista.add(rs.getString("nome"));
        }
        
        return lista;        
        
    }
    
    public String getUsuario()
    {
        return usuario;
    }
    
    
    
}

Essa class recebe os dados capturados do banco pela class acima:

/*
 * ValidaUsuario.java
 *
 * Created on 17 de Julho de 2007, 22:04
 */

package Validacao;


import DAO.DAOUsuario;
import java.io.*;
import java.net.*;
import java.sql.SQLException;

import javax.servlet.*;
import javax.servlet.http.*;

import Interfaces.InterfaceUsuario;

/**
 *
 * @author alexandre
 * @version
 */
public class ValidaUsuario extends HttpServlet {
    
    /** Processes requests for both HTTP <code>GET</code> and <code>POST</code> methods.
     * @param request servlet request
     * @param response servlet response
     */
    
    private String nome;
    private String usuario;
    private int erro;
    
    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException, SQLException 
    {
    
        nome = request.getParameter("nome");
    
        InterfaceUsuario validar = new InterfaceUsuario();
        
        validar.setNome(nome);
        erro = validar.getErro();
        
          
        if(erro == 0)
        {
     
          DAOUsuario resultado = new DAOUsuario();
          resultado.setNome(nome);
          
          request.setAttribute("usuario",resultado);
          request.setAttribute("lista",resultado.getLista());
          
          RequestDispatcher view = request.getRequestDispatcher("home.jsp");
          view.forward(request,response);
        }
        else
        {
            System.out.println("Erro aqui");            
        }
        
        
    }
    

}

Essa é a jsp que imprime os resultados na tela:

<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>


<!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>

    <h1>JSP Page<br></h1>

        String de nome simples: <font color="red"> ${usuario.usuario} </font><br>
        Lista de nomes com List:<font color="blue">
        <table>
            <c:forEach var="lista" items="${lista}">
                <tr>
                    <td>${lista}</td>
                </tr>
                
            </c:forEach>
            
        </table>
    </body>
</html>

O problema é que a jsp esta exibindo os dados do List assim:

[Alexandre, Administrador Filiais, Márcia laura, André Muraro, André Muraro]

Ou seja dentro de cochetes e uma linha direta, a idéia é que ele exiba assim:

Alexandre
Administrador Filial
Marcia laura
André Muraro
André Muraro

Com vcs podem observar na JSTL eu fiz dessa forma:

<c:forEach var=“lista” items="${lista}">
<tr>
<td>${lista}</td>
</tr>
</c:forEach>

Ou seja no loop tem uma tabela logo deveria exibir um abaixo do outro. Onde estou errando? Existe uma forma melhor de fazer isso?

Valeu a todos

Coloque o var de seu forEach diferente da variável que é a lista por exemplo name.

:okok:

E ae blz

Entendi cara valeu!

Aproveitando o tópico nesse exemplo que eu fiz eu pego o campo nome da minha tabela e coloco dentro do List e se eu quiser pegar as outras colunas na tabela tipo endereco,bairro e cep automáticamente o resultado seria:

Alexandre endereco bairro cep
Administrador Filial endereco bairro cep
Marcia laura endereco bairro cep
André Muraro endereco bairro cep
André Muraro endereco bairro cep

É possível colocar colunas na linha do array, porque o que fiz no exemplo anterior foi criar um array de linhas e se precisar criar um com linhas e colunas é possível? Como eu faço?

Valeu

E ae galera até agora não consegui fazer o esquema do modo que deixei acima! Aguém pode me dar uma força?