E ae galera blz!
Então estou estudando arrays e fiz dois modelos um simples e um mais detalhado, o primeiro esta exbindo resultado legal o segundo esta exibindo uns dados estranhos na tela.
Veja como esta o resultado na tela:
[b]
String de nome simples: André Muraro
exemplo de List 1:
Marcia David
Alexandre
Administrador Filiais
Márcia laura
André Muraro
André Muraro
exemplo de List 2:
Interfaces.ClassArray@1ec3adc
Interfaces.ClassArray@c7f06
Interfaces.ClassArray@677ea2
Interfaces.ClassArray@aaf64e
Interfaces.ClassArray@10a234
Interfaces.ClassArray@93b59
[/b]
Então como vcs podem ver o exeplo de List 1 exibiu na boa já o dois mostrou esses valores estranhos.
Olha o meu código:
Essa é a class:
/*
* ClassArray.java
*
* Created on 27 de Agosto de 2007, 21:46
*
* To change this template, choose Tools | Template Manager
* and open the template in the editor.
*/
package Interfaces;
/**
*
* @author alexandre
*/
public class ClassArray
{
private String nome;
private String cargo;
private String usuario;
private String senha;
public String getNome()
{
return nome;
}
public void setNome(String nome)
{
this.nome = nome;
}
public String getCargo()
{
return cargo;
}
public void setCargo(String cargo)
{
this.cargo = cargo;
}
public String getUsuario()
{
return usuario;
}
public void setUsuario(String usuario)
{
this.usuario = usuario;
}
public String getSenha()
{
return senha;
}
public void setSenha(String senha)
{
this.senha = senha;
}
}
Essa é a class DAO que puxa os valores do 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;
import Interfaces.ClassArray;
/**
*
* @author alexandre
*/
public class DAOUsuario
{
private String nome;
private String usuario;
private ResultSet rs;
private Connection conn;
private Statement sql;
//private ArrayList lista;
/** 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 List getDados() throws SQLException
{
PreparedStatement sql = conn.prepareStatement("select * from tabela");
rs = sql.executeQuery();
List dados = new ArrayList();
ClassArray array;
while(rs.next())
{
array = new ClassArray();
array.setNome(rs.getString("nome"));
array.setCargo(rs.getString("cargo"));
array.setUsuario(rs.getString("usuario"));
array.setSenha(rs.getString("senha"));
dados.add(array);
}
return dados;
}
public String getUsuario()
{
return usuario;
}
}
Essa é a class que joga na JSP:
/*
* 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");
// System.out.println("nome teste :" + 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);
RequestDispatcher view = request.getRequestDispatcher("home.jsp");
view.forward(request,response);
}
else
{
System.out.println("Erro aqui");
}
}
}
Essa é a JSP:
<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!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>
<br>
exemplo de List 1:<font color="blue">
<table>
<c:forEach var="nomes" items="${usuario.lista}">
<tr>
<td>${nomes}</td>
</tr>
</c:forEach>
</table></font><br><br>
exemplo de List 2:<font color="blue">
<table>
<c:forEach var="detalhes" items="${usuario.dados}">
<tr>
<td>${detalhes}</td>
</tr>
</c:forEach>
</table>
</body>
</html>
Alguém pode me explicar porque o segundo List exibiu esses dados? E como eu corrijo isso?