AddVisitForm.java
资源名称:petclinic.rar [点击查看]
上传用户:dezhong
上传日期:2022-08-10
资源大小:167k
文件大小:2k
源码类别:
Java编程
开发平台:
Java
- package org.springframework.samples.petclinic.web;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.samples.petclinic.Clinic;
- import org.springframework.samples.petclinic.Pet;
- import org.springframework.samples.petclinic.Visit;
- import org.springframework.samples.petclinic.validation.VisitValidator;
- import org.springframework.stereotype.Controller;
- import org.springframework.ui.Model;
- 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.bind.annotation.RequestParam;
- import org.springframework.web.bind.annotation.SessionAttributes;
- import org.springframework.web.bind.support.SessionStatus;
- /**
- * JavaBean form controller that is used to add a new <code>Visit</code> to
- * the system.
- *
- * @author Juergen Hoeller
- * @author Ken Krebs
- */
- @Controller
- @RequestMapping("/addVisit.do")
- @SessionAttributes("visit")
- public class AddVisitForm {
- private final Clinic clinic;
- @Autowired
- public AddVisitForm(Clinic clinic) {
- this.clinic = clinic;
- }
- @RequestMapping(method = RequestMethod.GET)
- public String setupForm(@RequestParam("petId") int petId, Model model) {
- Pet pet = this.clinic.loadPet(petId);
- Visit visit = new Visit();
- pet.addVisit(visit);
- model.addAttribute("visit", visit);
- return "visitForm";
- }
- @RequestMapping(method = RequestMethod.POST)
- public String processSubmit(@ModelAttribute("visit") Visit visit, BindingResult result, SessionStatus status) {
- new VisitValidator().validate(visit, result);
- if (result.hasErrors()) {
- return "visitForm";
- }
- else {
- this.clinic.storeVisit(visit);
- status.setComplete();
- return "redirect:owner.do?ownerId=" + visit.getPet().getOwner().getId();
- }
- }
- }