Estou tentando fazer uma pagina em jsp para exibir cadastros de um banco de dados sem usar scriplet porem nao esta dando certo.
Estou obtendo o seguinte erro : The value for the useBean class attribute java.util.LinkedList<beans.Todo> is invalid.
Se alguem puder me ajudar, eu ficaria muito grato
[b]Codigo do Programa[/b]
Index (Contem apenas um botao para chamar o codigo do servlet abaixo)
REMOVI TITULO ,HEAD ..... PRA FICAR MAIS LIMPO
<body>
<form action="controller2" method="post">
<input type="submit" value="exibir">
</form>
</body>
Servlet (Controller2 que é chamada pelo index)
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
fabrica fab = new fabrica();
Connection conexao;
try {
conexao = fab.startConexao(); // retorna um objeto do tipo connection
Dao ler = new Dao(conexao); // Dao é aonde esta todos os metodos de interaçao com o banco. Ex : Gravar,ler
LinkedList<Todo> lista = (LinkedList<Todo>) ler.getContatos(); // todo é apenas uma classe bean
request.setAttribute("todo", lista);
RequestDispatcher view = request.getRequestDispatcher("exibir.jsp");
view.forward(request, response);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println("La se vai minha noite : " + e);
}
}
Exibir JSP (Pagina em que ocorre o erro)
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<body>
<jsp:useBean id="todo" scope="request" class="java.util.LinkedList<beans.Todo>" />
<table>
<c:forEach var="a" items="${todo.contatos}" >
<tr>
<th>
<td><b>Tarefa</b></td>
<td><b>Prazo</b></td>
<td><b>Prioridade</b></td>
</th>
</tr>
<tr>
<td>${a.tarefa}</td>
<td>${a.prazo}</td>
<td>${a.prioridade}</td>
</tr>
</c:forEach>
</table>
</body>
</html>
Metodo para ler do banco de dados (Esta na classe dao)
public List<Todo> getContatos() throws Exception{
PreparedStatement stmt = this.conexao.prepareStatement("select * from tabela");
ResultSet rs = stmt.executeQuery();
LinkedList<Todo> contatos = new LinkedList<Todo>();
while (rs.next()) {
// criando o objeto Todo
Todo contato = new Todo();
contato.setTarefa(rs.getString("Todo_tarefa"));
contato.setPrazo(rs.getString("Todo_prazo"));
contato.setPrioridade(rs.getString("Todo_prioridade"));
// adicionando o objeto à lista
contatos.add(contato);
}
rs.close();
stmt.close();
return contatos;
}