Listar dados de BD em JSP

2 respostas
B

Pessoal,

Tenho uma classe onde possuo um método que faz uma consulta a uma tabela do BD e me retorna o resultado para ser exibido na página JSP:

Classe

private static PreparedStatement sqlFind, sqlInsereLocal, sqlApagaLocal, sqlAlteraLocal; 
    
    private static ResultSet rs;
    
    private Local l;
	
    public ArrayList getDados() throws SQLException {
        ArrayList listaDados = new ArrayList();
        sqlFind = connection.prepareStatement("SELECT * FROM ALUNO ORDER BY NOME");
        rs = sqlFind.executeQuery();
        while (rs.next()) {
            Aluno l = new Aluno();
            l.setCodAluno(rs.getInt(1));
            l.setNome(rs.getString(2));
            listaDados.add(l);           
        }
        return listaDados;
    }
Código JSP

[/code]

<%

// Carrega da tabela todos os alunos existentes no banco de dados

List listaDados = AlunoDAO.getDados();

// Para percorrer a lista

Iterator iDados = listaDados.iterator();

Aluno l;

while ( iDados.hasNext() ) {

l = (Aluno)iDados.next();

%>
//Dentro da tabela uso o código abaixo para exibir as várias linhas retornadas
&lt;td&gt; &lt;%= l.getNome() %&gt; &lt;/td&gt;



O problema é que quando chamo a página, hora ela é carregada normalmente e exibe os dados todos corretos, outras vezes  erro de NullPointerException.
exception 

org.apache.jasper.JasperException
	org.apache.jasper.servlet.JspServletWrapper.service&#40;JspServletWrapper.java&#58;372&#41;
	org.apache.jasper.servlet.JspServlet.serviceJspFile&#40;JspServlet.java&#58;292&#41;
	org.apache.jasper.servlet.JspServlet.service&#40;JspServlet.java&#58;236&#41;
	javax.servlet.http.HttpServlet.service&#40;HttpServlet.java&#58;802&#41;


root cause 

java.lang.NullPointerException
	dao.AlunoDAO.getDados&#40;AlunoDAO.java&#58;70&#41;  .........

Alguém poderia saber o que pode ser isso?

Obrigada.

[color=“green”]*Editado para adicionar o BBCode ;)[/color]

2 Respostas

eltonk

Tente instanciar o objeto aluno fora do seu laço de repetição.

Aluno l = null;
while &#40;...&#41;&#123;
   l = new Aluno&#40;&#41;;
   ...
?

[]s

M

Salve,

se tu instanciar o objeto fora do laço irá armazenar apenas um registro, mande os arquivos para mim que irei dar uma olhada.

até mais.

[email removido]

:okok:

Criado 22 de março de 2005
Ultima resposta 23 de mar. de 2005
Respostas 2
Participantes 3