Java tutorial
/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package sp.senac.controller; import java.util.ArrayList; import java.util.List; import javax.servlet.http.HttpServletRequest; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.ui.ModelMap; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.portlet.ModelAndView; import sp.senac.model.Veiculo; import sp.senac.service.VeiculoService; /** * * @author Luiz Fernando */ @Controller @RequestMapping("/veiculo") public class VeiculoController { @Autowired VeiculoService veiculoService; @RequestMapping("/principal") public String mostrarPaginaPrincipal() { return "/veiculo/principal"; } @RequestMapping("/novo") public String novoVeiculo() { return "/veiculo/novoVeiculo"; } /** * Requisio feita ao submeter o formulrio da pgina novoVeiculo.jsp. * A anotao @ModelAttribute("veiculo") no parmetro 'veiculo' captura o * veculo que foi preenchido no formulrio, e necessria na lista de * parmetros da funo * * @param veiculo * @param bindingResult * @return */ @RequestMapping(value = "/adicionar", method = RequestMethod.POST) public String adicionarVeiculo(@ModelAttribute("veiculo") Veiculo veiculo, BindingResult bindingResult) { veiculoService.adicionarVeiculo(veiculo); return "redirect:listar.htm"; } @RequestMapping("/listar") public ModelAndView listarVeiculos(Model model) { model.addAttribute("veiculos", veiculoService.listarVeiculos()); return new ModelAndView("veiculo", "command", new Veiculo()); } /** * Mtodo chamado na pgina novoVeiculo.jsp no form, utilizado para atribuir * um veculo como alvo de preenchimento dos dados do formulrio * @return */ @ModelAttribute("novoVeiculo") public Veiculo createModel() { return new Veiculo(); } }