「Spring MVC」@ModelAttribute、@ControllerAdvice、@Controllerアノテーションを利用する
1.コントローラ
@Controller
@ControllerAdvice
public class UserController {
private Map<Long, User> userMap = new HashMap<>();
@RequestMapping(value = "/addUser", method = RequestMethod.POST)
public String addUser(
@ModelAttribute("user") User user,
BindingResult result, ModelMap model) {
if (result.hasErrors()) {
return "error";
}
model.addAttribute("userName", user.getuserName());
model.addAttribute("userId", user.getuserId());
userMap.put(user.getuserId(), user);
return "userView";
}
@ModelAttribute
public void addAttributes(Model model) {
model.addAttribute("msg", "this is test data");
}
}
2.Modelクラス
@XmlRootElement
public class User {
private long userId;
private String userName;
public User(long userId, String userName) {
this.userId = userId;
this.userName = userName;
}
//some code
}
3.JSP画面
<form:form method="POST" action="/addUser"
modelAttribute="user">
<form:label path="userName">ユーザ名:</form:label>
<form:input path="userName"/>
<form:label path="userId">ユーザ番号:</form:label>
<form:input path="userId"/>
<input type="submit" value="Submit"/>
</form:form>