Não consigo exibir os dados em uma página jsp

4 respostas
T

Caros, não estou conseguindo exibir os dados de uma contato em uma página jsp.

Esse é o controlador que delega a responsabilidade de execução para a lógica de negócios

package br.com.agenda.controller;

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import br.com.agenda.businesslogic.BusinessLogic;

public class ControllerLogic extends HttpServlet {
	
	public void service (HttpServletRequest request, HttpServletResponse response) 
	throws ServletException, IOException{
		
        //recebe o nome da classe como parâmentro
		String businessLogicName = request.getParameter("controle");
		try {
            //recebe uma referência a um objeto do tipo Class
			Class businessLogicClass =Class.forName(businessLogicName);
			
            //verifica se a classe implementa a interface BussinessLogic
			if (!BusinessLogic.class.isAssignableFrom(businessLogicClass)) {
				throw new ServletException("Classe não implementa a interface: "+
						businessLogicName);
			}			
            
            //instancia um objeto para cada nova requisição
			BusinessLogic businessLogicObject = (BusinessLogic) 
			businessLogicClass.newInstance();			
			businessLogicObject.execute(request, response);
		}
		catch (Exception e) {
			throw new ServletException("A lógica de negócios causou um exceção", e);
		}
		
	}
}

Essa é a lógica ContatoListaController

package br.com.agenda.controller;

import java.util.ArrayList;

import javax.servlet.RequestDispatcher;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import br.com.agenda.businesslogic.BusinessLogic;
import br.com.agenda.impledao.ContatoDao;
import br.com.agenda.model.Contato;

public class ContatoListarController implements BusinessLogic {

	ContatoDao contatoDao = new ContatoDao();

	public void execute(HttpServletRequest request, HttpServletResponse respose)
			throws Exception {

		    ArrayList<Contato> contatos = contatoDao.listar();		
		
			request.setAttribute("lista_contatos", contatos);
			RequestDispatcher rd = request.getRequestDispatcher("lista_contato.jsp");
			rd.forward(request, respose);
		

		

	}

}

Esse é o metodo acessado no dao

public ArrayList<Contato> listar() {
		ArrayList<Contato> contatos =  this.listContato;
		return contatos;
	}

E essa é a página jsp

<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<c:import url="cabecalho.jsp"></c:import>	
	<c:import url="menu.jsp"></c:import>	   
	   <!-- Conteudo -->
	   <td height="700" width="80%" valign="top" id="espacoform">
	   
	   <div style="font-family: verdana; font-size: 20px; font-weight: bold;" >Lista de Contatos</div>
	   <hr/>
	   
	       <table align="center" border="0" cellpadding="0" cellspacing="0" width="70%">
	          <c:set var="lista" value="${requestScope.lista_contatos}" scope="page"></c:set>	    	    
	          <c:forEach var="contato" items="${lista}">
	             <tr>
	                <td style="font-family: verdana; font-size: 12px; text-align: left;">${contato.nome}</td>
	                <td style="font-family: verdana; font-size: 12px; text-align: left;">${contato.sobreNome}</td>
	             </tr>
	             <tr>
	                <td style="font-family: verdana; font-size: 12px; text-align: left;">${contato.telefone}</td>
	                <td style="font-family: verdana; font-size: 12px; text-align: left;">${contato.email}</td>	          
	             </tr>	            
	          </c:forEach>	          
	       </table>
	   </td>
	</tr>	
	 <!-- Conteudo -->
</table>

</body>

</html>

Estou incluindo contatos e quando tento listar, tudo é exibido menos a lista de contatos.

4 Respostas

Anderson_Leite

nao precisa de:

# <c:set var="lista" value="${requestScope.lista_contatos}" scope="page"></c:set>

Troca

<c:forEach var="contato" items="${lista}">

por

<c:forEach var="contato" items="${lista_contatos}">
T

Ops! Estava implementado assim, esqueci de alterar. Não está funcionando nem desse geito.

Anderson_Leite

o seu Dao está realmente retornando algum contato ?

T

Se eu incluir um contato e logo depois listar, aparecem todos, mas se tentar pela opção de lista, não esta funcionando. Já verifiquei e está passando por todas as classes.

Criado 15 de agosto de 2008
Ultima resposta 15 de ago. de 2008
Respostas 4
Participantes 2