01.package com.vaannila.web;
02.
03.import org.springframework.beans.factory.annotation.Autowired;
04.import org.springframework.stereotype.Controller;
05.import org.springframework.ui.ModelMap;
06.import org.springframework.validation.BindingResult;
07.import org.springframework.web.bind.annotation.ModelAttribute;
08.import org.springframework.web.bind.annotation.RequestMapping;
09.import org.springframework.web.bind.annotation.RequestMethod;
10.import org.springframework.web.bind.annotation.SessionAttributes;
11.
12.import com.vaannila.domain.User;
13.import com.vaannila.service.UserService;
14.import com.vaannila.validator.UserValidator;
15.
16.@Controller
17.@RequestMapping("/userRegistration.htm")
18.@SessionAttributes("user")
19.public class UserController {
20.
21.private UserService userService;
22.private UserValidator userValidator;
23.
24.@Autowired
25.public UserController(UserService userService, UserValidator userValidator) {
26.this.userService = userService;
27.this.userValidator = userValidator;
28.}
29.
30.@RequestMapping(method = RequestMethod.GET)
31.public String showUserForm(ModelMap model) {
32.User user = new User();
33.model.addAttribute("user", user);
34.return "userForm";
35.}
36.
37.@RequestMapping(method = RequestMethod.POST)
38.public String onSubmit(@ModelAttribute("user") User user,
39.BindingResult result) {
40.userValidator.validate(user, result);
41.if (result.hasErrors()) {
42.return "userForm";
43.} else {
44.userService.add(user);
45.return "redirect:userSuccess.htm";
46.}
47.}
48.
49.}