Reiny 1 Denunciar post Postado Dezembro 9, 2008 Olá amigos , bom dia ! Estou construindo um sistema mvc simples descrito abaixo ! 1 - Tenho uma classe DAO chamada 'clienteDAO' que retorna uma lista de objetos 'cliente', abaixo segue o metodo da que retorna a lista ! ... public List<Cliente> lista() throws SQLException { sql = "SELECT * FROM PROTEGE_CLIENTE"; Connection connection = ConnectionFactory.getConnection(); PreparedStatement pstmt = connection.prepareStatement(sql); ResultSet rs = pstmt.executeQuery(); List<Cliente> list = new ArrayList<Cliente>(); while (rs.next()) { Cliente cliente = new Cliente(); cliente.setId(rs.getString("CLIENTE_ID")); cliente.setNome(rs.getString("CLIENTE_NOME")); list.add(cliente); } rs.close(); pstmt.close(); connection.close(); return list; } ... 2 - Aqui esta o codigo do servlet que chama a pagina jsp ! ... List<Cliente> lista = clientedao.lista(); request.setAttribute("lista", lista); dispacha = request.getRequestDispatcher("/modulos/cliente/index.jsp"); ... 3 - Aqui segue a pagina com problema, essa pagina fica em branco (nunhum erro e mostrado), não imprime nen mesmo o HTML ! <%@page contentType='text/html' pageEncoding='utf-8'%> <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <link rel="stylesheet" type="text/css" href="../../style.css" /> </head> <body> <table> <tr> <c:forEach var="clientes" items="${ requestScope.lista }"> <td>${clientes.cliente_nome}/></td> </c:forEach> </tr> </table> </body> </html> OBS : Libs do classpath testadas , estão todas lá jstl - 1.1, mysql-connector-5.1.6.jar! Compartilhar este post Link para o post Compartilhar em outros sites
Vergil 15 Denunciar post Postado Dezembro 9, 2008 Talvez o problema seja com o escopo do seu request. Talvez você tenha que usar escopo session. O escopo de aplicativo dura até o servidor parar o aplicativo. Os valores que você armazena em um Bean do aplicativo estão disponíveis em cada sessão e em cada solicitação que usa o mesmo mapa de aplicativo. O escopo de sessão começa quando o usuário acessa pela primeira vez uma página no aplicativo da Web e termina quando a sessão do usuário expira devido à inatividade, ou quando o aplicativo da Web invalida a sessão, como, por exemplo, chamando session.invalidate(). O escopo de solicitação começa quando o usuário envia a página e termina quando a resposta é totalmente processada, qualquer que seja a página. Compartilhar este post Link para o post Compartilhar em outros sites
Reiny 1 Denunciar post Postado Dezembro 9, 2008 Obriagdo Vergil pela resposta, mais já descobri a falha no codigo ! E o seguinte, no trecho abaixo eu estava tentando acessar o valor 'nome' do cliente pelo nome da coluna no banco de dados, porém no banco de dados, todas as colunas tem o nome da tabela como prefixo, a coluna no banco chama-se 'cliente_nome' , e a variavel na entidade referente a essa tabela , ou sejá a entity cliente e nome e naum cliente_nome; ... <c:forEach var="clientes" items="${dao.lista}"> <td>${clientes.cliente_nome}/></td> </c:forEach> ... Entaão a correção e simples bastou passar cliente_id , para nome ! ... <c:forEach var="clientes" items="${dao.lista}"> <td>${clientes.nome}/></td> </c:forEach> ... Compartilhar este post Link para o post Compartilhar em outros sites