0
こんにちは、私はSpring MVCの新機能です。 ManytoMany関係(User、Role、User_Roles)を作成しました。私は(User_Roles)に挿入しようとしています。だから、私はすべてのロールを選択し、それをJSPページに表示し、ユーザーに(Multiple = true)を選択させるように指示します。私はいつ要求を提出するかを選択した後。バインディングエラーが発生します。私は問題がUserSetting.jspにあると思う。誰も助けることができますか?Spring MVC manytomany @ ModelAttribute Binding
## BINDING ERROR ##
HTTP ERROR 400
Problem accessing /DistributionSystem/submitUser. Reason:
Bad Request
UserEntity.java
private Set<RoleEntity> roles = new HashSet<>(0);
@ManyToMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL)
@JoinTable(name = "USER_ROLES", joinColumns = {
@JoinColumn(name = "ROLE_ID", nullable = false, updatable = false) },
inverseJoinColumns = { @JoinColumn(name = "USER_ID",
nullable = false, updatable = false) })
public Set<RoleEntity> getRoles() {
return roles;
}
}
public void setRoles(Set<RoleEntity> roles) {
this.roles= roles;
}
Controller.java
@RequestMapping(value = "/submitUser", method = RequestMethod.POST, params = "add")
protected String addUser(Model model, @ModelAttribute("user") UserEntity user){//,@RequestParam("userRoles") List<Integer> userRoles) {
//System.out.println(userRoles.size());
System.out.println("======="+user.getRoles().size());
//userService.addUser(user);
return "userSettingsPage";
}
UserSetting.jsp
<div class="alert-alert-success">
<div class="col-sm-3">
<label>Roles</label>
<div class="form-inline">
<div class="col-md-4">
<select id="dates-field2" class="multiselect form-control" multiple="multiple" name="roles">
<c:forEach items="${userRoles}" var="role">
<option value=${role}> ${role.name} </option>
</c:forEach>
</select>
</div>
</div>
</div>
</div>
</div>