Já assisti e revi a aula várias vezes, porém não consigo entender onde está o erro. Não consigo ver a listagem das contas, erro 404 Minha controller e minha view do listar estão ai em baixo.
Eu recebo o seguinte erro:
HTTP Status 404 - /contas/WEB-INF/views/listaContas.jsp
description The requested resource is not available.
Estou usando a pasta conta/lista conforme foi pedido.
package br.com.caelum.contas.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.portlet.ModelAndView;
import java.util.List;
import br.com.caelum.contas.dao.ContaDAO;
import br.com.caelum.contas.modelo.Conta;
@Controller
public class ContaController {
@RequestMapping("/form")
public String formulario(){
return "formulario";
}
@RequestMapping("/adicionaConta")
public String adiciona(Conta conta) {
System.out.println("Conta adicionada e: " + conta.getDescricao());
ContaDAO dao = new ContaDAO();
dao.adiciona(conta);
return "conta/conta-adicionada";
}
@RequestMapping("/listaContas")
public ModelAndView lista() {
ContaDAO dao = new ContaDAO();
List<Conta> contas = dao.lista();
System.out.println("Total de contas = " + contas.size());
ModelAndView mv = new ModelAndView("conta/lista");
mv.addObject("todasContas", contas);
return mv;
}
}
<%@ 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>Insert title here</title>
</head>
<body>
<table>
<tr>
<th>Código</th>
<th>Descrição</th>
<th>Valor</th>
<th>Tipo</th>
<th>Pago?</th>
<th>Data de pagamento</th>
<th>Valor</th>
</tr>
<c:forEach items="${todasContas}" var="conta">
<tr>
<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 está paga!
</c:if>
<c:if test="${conta.paga eq true}">
Conta paga!
</c:if>
</td>
<td><fmt:formatDate value="${conta.dataPagamento.time}" pattern="dd/MM/yyyy"/></td>
</tr>
</c:forEach>
</table>
</body>
</html>