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
[code]
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);
}
}[/code]
Esse é o metodo acessado no dao
public ArrayList<Contato> listar() {
ArrayList<Contato> contatos = this.listContato;
return contatos;
}
E essa é a página jsp
[code]
<%@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>[/code]
Estou incluindo contatos e quando tento listar, tudo é exibido menos a lista de contatos.