public class User {
private long id;
private String username;
private String password;
private String passwordConfirm;
private Set<Role> roles;
}
public class Role {
private Long id;
private String name;
private Set<User> users;
}
如果我想在注册页面的 form 里设置一个 radio 让用户选作为 user 还是 admin ,
<form method="post" action="/registration" object="userForm">
<div><label> 用户名 : <input type="text" name="username"/> </label></div>
<div><label> 密 码 : <input type="password" name="password"/> </label></div>
<div><label> 确认密码 : <input type="password" name="passwordConfirm"/> </label></div>
<div><label> Role : <input type="radio" name="roles" value="user" checked>user
<input type="radio" name="roles" value="admin">admin</label></div>
<div><input type="submit" value="注册"/></div>
</form>
controller 是这样的
@RequestMapping(value = "/registration", method = RequestMethod.POST)
public String registration(@Valid User userForm, BindingResult bindingResult, Model model) {
System.out.print(userForm);
userValidator.validate(userForm, bindingResult);
if (bindingResult.hasErrors()) {
return "error";
}
userService.save(userForm);
securityService.autoLogin(userForm.getUsername(), userForm.getPasswordConfirm());
return "redirect:/login";
}
但是这样写会报错,那如何才能将 Role 信息设计进 form 并且能将 userForm 转换为 User 实体?