Recentemente comprei um livro “Desenvolvendo aplicações com netBeans IDE 6.0” neste livro estou num exemplo onde é criada uma aplicação em DAO passo a passo.
Depois de tudo pronto o código funciona, conexão com o banco e tudo mais, porem uma parte do codigo não funciona de jeito nenhum, referente ao comando “requestScope” em uma pagina jsp que não mostra os dados do banco de dados.
As inserções salvar, atualizar e excluir, funcionam normalmente porem quando é para listar para ver todos os autores “/mostrarAutoresCads.jsp” só mostra o titulo da tabela e nada do que esta dentro do requestScope é mostrado, o codigo esta com as importações corretas e já revisei o codigo varias vezes, inclusive copiado o codigo do proprio exemplo do livro, e nada deste comando funcionar.
O livro se refere ao netbeans 6.0 usando grassfiss v2, porem a versão que estou utilizando é o netbeans 6.8 usando grassfiss v3, será que isto esta influenciando em algo no codigo?
O que poderia estar ocasionando este problema com o comando “requestScope” ou se ouve alguma mudança de utilização do mesmo nestas novas versões?
Agradeceria a quem me ajudasse, pois ja procurei muito (dalhe google) e nada de encontrar algo relacionado e o que encontrava não resolvia.
Colocarei toda a pagina /mostrarAutoresCads.jsp onde o problema ocorre:
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<%@page contentType="text/html" pageEncoding="ISO-8859-1"%>
<!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=ISO-8859-1">
<title>Trabalhando com DAO e Model 2</title>
</head>
<body>
<table border="1" cellpadding="2" cellspacing="0">
<tr>
<th>ID - Atualizar</th>
<th>Nome</th>
<th>E-mail</th>
<th>Nascimento</th>
<th>Excluir Autor</th>
</tr>
//Trecho onde ocorre o problema onde simplesmente não aparece no navegador
<c:forEach var="lista" items="${requestScope.autoresList}">
<tr>
<td>
<a href="ServletAutores?cmd=atu&id=${lista.id}">
${lista.id}
</a>
</td>
<td>${lista.nome}</td>
<td>${lista.email}</td>
<td><fmt:formatDate value="${lista.nascimento}" type="DATE" pattern="dd/MM/yyyy"/>
</td>
<td>
<a href="ServletAutores?cmd=exc&id=${lista.id}">
Excluir
</a>
</td>
</tr>
</c:forEach>
// fim do trecho com problema
</table>
<br />
<a href="formInserindoDados.jsp">Adicionar um novo Autor</a>
<br />
<a href="index.jsp">Página Principal</a>
</body>
</html>
Trecho do Servlet
...
try{
dao = new AutorDAOImp();
RequestDispatcher rd = null;
if(cmd.equalsIgnoreCase("listar")) {
List autoresList = dao.todosAutores();
request.setAttribute("autoresList",autoresList);
rd = request.getRequestDispatcher("/mostrarAutoresCads.jsp");
} ...
Trecho /autorDAOImp.java
...
public List todosAutores() throws Exception{
PreparedStatement ps = null;
Connection conn = null;
ResultSet rs = null;
try{
conn = this.conn;
ps = conn.prepareStatement("select * from autores");
rs = ps.executeQuery();
List<Autor> list = new ArrayList<Autor>();
while(rs.next()){
Integer id = rs.getInt(1);
String nome = rs.getString(2);
String email = rs.getString(3);
Date nascimento = rs.getDate(4);
list.add(new Autor(id,nome,email,nascimento));
}
return list;
} catch (SQLException sqle) {
throw new Exception(sqle);
} finally {
ConnectionFactory.closeConnection(conn,ps,rs);
}
} ...
Todo o resto funciona normalmente, com excessão da pagina /mostrarAutoresCads.jsp.
Agradeceria um Help.