Até o tópico anterior tudo estava funcionando, os dados estavam sendo inserido no sistema. Estou enviando a classe Conta, ContaController e a view formulario, após a inserção de annotations a view formulario chama a action adicionaConta e da erro 404, não econtra, mais pelo que vejo esta tudo direcionado corretamente como abaixo, o que pode ser? ''' package br.com.caelum.contas.modelo;
import java.util.Calendar;
import javax.validation.constraints.Size;
//import javax.validation.constraints.NotNull;
import org.hibernate.validator.constraints.NotEmpty; import org.springframework.format.annotation.DateTimeFormat;
public class Conta {
private Long id;
@NotEmpty(message= "{conta.descricao.vazia}") @Size(min = 5, message="{conta.formulario.descricao.tamanho}") private String descricao;
private boolean paga;
private double valor;
@DateTimeFormat(pattern = "dd/MM/yyyy") private Calendar dataPagamento;
private TipoDaConta tipo;
public Long getId() { return id; }
public void setId(Long id) { this.id = id; }
public String getDescricao() { return descricao; }
public void setDescricao(String descricao) { this.descricao = descricao; }
public boolean isPaga() { return paga; }
public void setPaga(boolean paga) { this.paga = paga; }
public Calendar getDataPagamento() { return dataPagamento; }
public void setDataPagamento(Calendar dataPagamento) { this.dataPagamento = dataPagamento; }
public TipoDaConta getTipo() { return tipo; }
public void setTipo(TipoDaConta tipo) { this.tipo = tipo; }
public double getValor() { return valor; }
public void setValor(double valor) { this.valor = valor; }
}
''' package br.com.caelum.contas.controller;
import java.util.List; import javax.validation.Valid; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.servlet.ModelAndView; import br.com.caelum.contas.dao.ContaDAO; import br.com.caelum.contas.modelo.Conta;
@Controller public class ContaController {
@RequestMapping("/form") public String formulario() { return "conta/formulario"; }
@RequestMapping("/adicionaConta") public String adiciona(@Valid Conta conta, BindingResult result) {
if (result.hasErrors()) { return "formulario"; }
System.out.println("Conta adiciona é: " + conta.getDescricao()); ContaDAO dao = new ContaDAO(); dao.adiciona(conta);
return "redirect:listaContas"; }
@RequestMapping("/removeConta") public String remove(Conta conta) { ContaDAO dao = new ContaDAO(); dao.remove(conta); return "redirect:listaContas"; // retorna view // return"forward:listaContas"; // retorno servidor }
@RequestMapping("/alteraConta") public String altera(Conta conta) { ContaDAO dao = new ContaDAO(); dao.altera(conta); return "redirect:listaContas"; }
@RequestMapping("mostraConta") public String mostra(Long id, Model model) { ContaDAO dao = new ContaDAO(); model.addAttribute("conta", dao.buscaPorId(id)); return "conta/mostra"; }
@RequestMapping("/listaContas") public ModelAndView lista() { ContaDAO dao = new ContaDAO(); List contas = dao.lista(); ModelAndView mv = new ModelAndView("conta/lista"); mv.addObject("todasContas", contas); return mv; }
/ @RequestMapping("/listaContas") public String lista(Model mv) { //Outro exemplo de action lista ContaDAO dao = new ContaDAO(); List contas = dao.lista(); mv.addAttribute("todasContas", contas); return "conta/lista"; } */
}
''' conta.formulario.descricao.tamanho=Descrição deve conter no mínimo {min} caracteres. conta.descricao.vazia=Favor preencher os dados de descrição. '''
''' <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib uri="http://www.springframework.org/tags/form" prefix="form" %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
Adicionar Contas Descricao: Valor: Tipo: Entrada Saída'''