Olá. sou novo no fórum e iniciante em java e estou estudando com a ajuda da apostila fj21 da caelum.
Minha dúvida é no exercicio 10.6, que é sobre filtros. Eu consegui aplicar corretamente o filtro para criar uma só conexão, porém eu tenho uma página JSP que exibe uma lista com todos os contato cadastrados e somente esta não consegui fazer funcionar. Não sei como farei para instanciar a classe ContatoDAO enviando um parâmetro connection (como fiz nas outras e deu certo) pelo fato dessa página utilizar taglib, não sei nem se pe possivel. Segue os codigos. Obrigado
Pagina com mesma função, porém feita utilizando scriptlet<%@ page import="java.util.*, java.text.*, br.com.caelum.jdbc.dao.*,
br.com.caelum.jdbc.modelo.*, java.sql.Connection"%>
<%@page import="java.text.SimpleDateFormat"%><html>
<body>
<table border='1'>
<thead bgcolor='#B5B5B5'>
<tr>
<th>Nome</th>
<th>E-mail</th>
<th>Endereço</th>
<th>Data de Nascimento</th>
</tr>
</thead>
<tbody bgcolor='#DCDCDC'>
<% Connection connection = (Connection)request.getAttribute("connection");
ContatoDAO dao = new ContatoDAO(connection);
List<Contato> contatos = dao.getLista();
for(Contato contato : contatos ){ %>
<tr>
<td><%=contato.getNome()%></td>
<td><%=contato.getEmail()%></td>
<td><%=contato.getEndereco()%></td>
<td>
<%Format formato = new SimpleDateFormat("dd'/'MM'/'yyyy");%>
<%=formato.format(contato.getDatanascimento().getTime())%>
</td>
</tr>
<%} %>
</tbody>
</table>
</body>
</html>
Como fazer a mesma funcionalidade utilizando taglibs? Tem como?
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<c:import url="cabecalho.jsp"/>
<jsp:useBean id="dao" class="br.com.caelum.jdbc.dao.ContatoDAO"/>
<table border='1'>
<thead bgcolor='#0000FF'>
<tr>
<th><font color='#FFFFFF'>ID</font></th>
<th><font color='#FFFFFF'>Nome</font></th>
<th><font color='#FFFFFF'>E-mail</font></th>
<th><font color='#FFFFFF'>Endereço</font></th>
<th><font color='#FFFFFF'>Data de Nascimento</font></th>
<th><font color='#FFFFFF'>Opções</font></th>
</tr>
</thead>
<c:forEach var="contato" items="${dao.lista}" varStatus="id">
<tr align='center' bgcolor="#${id.count % 2 == 0 ? 'aaee88' : 'ffff00'}">
<td>${contato.id}</td>
<td>${contato.nome}</td>
<td>
<c:choose>
<c:when test="${empty contato.email}">
E-mail não Informado
</c:when>
<c:otherwise>
<a href="mailto:${contato.email}">${contato.email}</a>
</c:otherwise>
</c:choose>
</td>
<td>${contato.endereco}</td>
<td><fmt:formatDate value="${contato.datanascimento.time}" pattern="dd/MM/yyyy"/></td>
<td align='center'>
<a href="http://localhost:8080/agenda/mvc?logica=RemoveContatoLogic&id=${contato.id}&
nome=${contato.nome}&endereco=${contato.endereco}&email=${contato.email}&
dataNascimento=02/02/2010&link=lista-contatos-elegante.jsp" ><img border="0" src="<c:url value='/imagens/botao-excluir.gif'/>" alt="Excluir"/></a>
<a href="http://localhost:8080/agenda/testa-altera-mvc.jsp?id=${contato.id}&dataNascimento=<fmt:formatDate value="${contato.datanascimento.time}" pattern="dd/MM/yyyy"/>"><img border="0" src="<c:url value='/imagens/icone-editar.gif'/>" alt="Editar"/></a>
</td>
</tr>
</c:forEach>
</table>
<p>
<a href="http://localhost:8080/agenda/adiciona-contato.jsp" style="margin-right: -530px;">
<img border="0" src="<c:url value='/imagens/icone-incluir.jpg'/>" alt="Novo Contato"/></a>
</p>
<c:import url="rodape.jsp"/>
Desde já agradeço!