Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Dúvida no Ex. 1 da Aula 4 - Enviando dados para a JSP

Quando eu abri o => http://localhost:8080/contas/tabelas Gerou a msg "Tabelas criadas com sucesso!" E no console:

mar 16, 2016 5:43:00 PM org.apache.catalina.core.ApplicationContext log
INFORMAÇÕES: Initializing Spring FrameworkServlet 'spring mvc'
17:43:00,489  INFO DispatcherServlet:479 - FrameworkServlet 'spring mvc': initialization started
17:43:00,553  INFO XmlWebApplicationContext:513 - Refreshing WebApplicationContext for namespace 'spring mvc-servlet': startup date [Wed Mar 16 17:43:00 BRT 2016]; root of context hierarchy
17:43:00,672  INFO XmlBeanDefinitionReader:316 - Loading XML bean definitions from ServletContext resource [/WEB-INF/spring-context.xml]
17:43:01,954  INFO RequestMappingHandlerMapping:197 - Mapped "{[/form],methods=[],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public java.lang.String br.com.caelum.contas.controller.ContaController.cadastro()
17:43:01,954  INFO RequestMappingHandlerMapping:197 - Mapped "{[/adicionaConta],methods=[],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public java.lang.String br.com.caelum.contas.controller.ContaController.adiciona(br.com.caelum.contas.modelo.Conta)
17:43:01,954  INFO RequestMappingHandlerMapping:197 - Mapped "{[/listaContas],methods=[],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public org.springframework.web.portlet.ModelAndView br.com.caelum.contas.controller.ContaController.lista()
17:43:01,954  INFO RequestMappingHandlerMapping:197 - Mapped "{[/tabelas],methods=[],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public java.lang.String br.com.caelum.contas.controller.InfraController.criaBanco() throws java.sql.SQLException
17:43:01,954  INFO RequestMappingHandlerMapping:197 - Mapped "{[/olaMundoSpring],methods=[],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public java.lang.String br.com.caelum.contas.controller.OlaMundoController.execute()
17:43:01,954  INFO RequestMappingHandlerMapping:197 - Mapped "{[/],methods=[],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public java.lang.String br.com.caelum.contas.controller.OlaMundoController.paginaInicial()
17:43:02,812  INFO DispatcherServlet:498 - FrameworkServlet 'spring mvc': initialization completed in 2323 ms
conectando ...

Abri => http://localhost:8080/contas/form Adicionei 3 contas... Em todas elas quando eu cliquei em "Adicionar", gerou a msg "Conta adicionada com sucesso!"

No console:

A conta adicionada é: Telefone Vivo
conectando ...
A conta adicionada é: Telefone Claro
conectando ...
A conta adicionada é: Unimed
conectando ...

Mas quando eu tentei abrir => http://localhost:8080/contas/listaContas

Gera erro 404

E no console:

conectando ...

A cada vez que eu dou um refresh no browser, aparece no console:

conectando ...
2 respostas

No ContaController:

    @RequestMapping("/listaContas")
    public ModelAndView lista() {
        ContaDAO dao = new ContaDAO();
        List<Conta> contas = dao.lista();
        ModelAndView mv = new ModelAndView("conta/lista");
        mv.addObject("todasContas", contas);
        return mv;
    }

E no lista.jsp:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
<!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=UTF-8">
<title>Lista de Contas</title>
</head>
<body>
    <table>
        <th>Código</th>
        <th>Descrição</th>
        <th>>Valor</th>
        <th>Tipo</th>
        <th>Paga ?</th>
        <th>Data de pgto.</th>

        <c:forEach items="${todasContas}" var="conta">
            <td>${conta.id}</td>
            <td>${conta.descricao}</td>
            <td>${conta.valor}</td>
            <td>${conta.tipo}</td>
            <td>
                <c:if test="${conta.paga eq false}">
                Não paga
                </c:if>
                <c:if test="${conta.paga eq true}">
                Paga!
                </c:if>
            </td>
            <td><fmt:formatDate value="${conta.dataPagamento.time}" pattern="dd/MM/yyyy"/></td>
        </c:forEach>
    </table>
</body>
</html>
solução!

Resolvido...