Pessoal boa noite.
To tentanto listar um arrayList retornado pelo método lista(Classe CategoriaDAO) via JSTL. Porém, não tive sucesso. Por diversas vezes tentei achar erros no código, porem não encontrei.
Segue o codigo:package Model;
public class Categoria {
private String nome;
public Categoria(){
}
public Categoria(String nome){
this.nome = nome;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
}
package DAO;
import Model.Categoria;
import com.mysql.jdbc.Connection;
import com.mysql.jdbc.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
public class CategoriaDAO {
private Connection con;
private PreparedStatement stmt;
private ResultSet rs;
public void adiciona(Categoria cat) throws SQLException{
con = new conexao.ConexaoMysql().getConexao();
stmt = (PreparedStatement) con.prepareStatement("insert into categoria("
+ "cat_nome) values (?)");
stmt.setString(1, cat.getNome());
stmt.execute();
stmt.close();
con.close();
}
public List<Categoria> lista(String catNome) throws SQLException{
con = new conexao.ConexaoMysql().getConexao();
stmt = (PreparedStatement) con.prepareStatement("select cat_nome from categoria where cat_nome=?");
stmt.setString(1, catNome);
rs = stmt.executeQuery();
ArrayList cat = new ArrayList<Categoria>();
while(rs.next())
{
cat.add(new Categoria(rs.getString("cat_nome")));
}
return cat;
}
}
<%--
Document : testa-lista
Created on : 25/09/2011, 19:59:03
Author : Thiago
--%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<%@page import="DAO.CategoriaDAO" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<jsp:useBean id="dao" class="DAO.CategoriaDAO" />
<table>
<c:forEach var="categoria" items="${dao.lista}">
<tr>
<td>${categoria.nome}</td>
</tr>
</c:forEach>
</table>
</body>
</html>
E POR ULTIMO, SEGUE O ERRO RETORNADO =/
HTTP Status 500 -
--------------------------------------------------------------------------------
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
org.apache.jasper.JasperException: An exception occurred processing JSP page /testa-lista.jsp at line 20
17: <body>
18: <jsp:useBean id="dao" class="DAO.CategoriaDAO" />
19: <table>
20: <c:forEach var="categoria" items="${dao.lista}">
21: <tr>
22: <td>${categoria.nome}</td>
23: </tr>
Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:567)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:471)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:389)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:333)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:88)
root cause
org.apache.jasper.el.JspPropertyNotFoundException: /testa-lista.jsp(20,12) '${dao.lista}' Property 'lista' not found on type DAO.CategoriaDAO
org.apache.jasper.el.JspValueExpression.getValue(JspValueExpression.java:109)
org.apache.jsp.testa_002dlista_jsp._jspx_meth_c_005fforEach_005f0(testa_002dlista_jsp.java:119)
org.apache.jsp.testa_002dlista_jsp._jspService(testa_002dlista_jsp.java:90)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:433)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:389)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:333)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:88)
note The full stack trace of the root cause is available in the Apache Tomcat/7.0.21 logs.
Se alguem tive alguma sugestão para a resolução, fico agradecido.
VAleuuw
