Spring MVC前端参数映射问题

慕天远 2017-08-15 12:01:48
需求就是修改用户的功能,将查到的用户信息展现到编辑页面,然后修改用户信息提交表单
问题是我在修改用户的信息的时候会为这个用户选择其所担任的角色。这是多选,我想在提交表单的时候将用户的角色自动映射到User的Set集合属性上,
model :
 */
public class User {

private Long id;
private Integer userAge;
private String loginName;
private String userName;

private Set<Long> rolesId = new HashSet<>();

public User() {
}

//get set省略

}


表单代码“

<select name="rolesId[]" multiple="multiple" size="10" class="SelectStyle">
<c:if test="${! empty listRole}">
<c:forEach items="${listRole}" var="role">
<option value="${role.id}">${role.roleName }</option>
</c:forEach>
</c:if>
</select>


经过测试我发现 如果将表单中的select元素的name属性设置为roleId浏览器会报400 bad request错误,如果我将name属性设置为roleId[] 表单会报500错误。
请问大神们,我该如何设置这个name属性来实现参数的自动映射啊。这种方法可行吗?如果能够提供案例是最好了,thanks in advance
...全文
472 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
清风文人 2017-08-31
  • 打赏
  • 举报
回复
你真的很懒 ,这么写很不明确
qq_39237181 2017-08-30
  • 打赏
  • 举报
回复
select只能接收一个角色啊 想接受多个的话要用复选框 后台用String接 然后用split逗号拆分
业余草 2017-08-29
  • 打赏
  • 举报
回复
wobuguan3721 2017-08-29
  • 打赏
  • 举报
回复
你这个select标签设置的多选提交的时候值是用逗号隔开的吧直接用一个String接收然后分割一下

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧