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.
}