【发布时间】:2016-07-08 01:59:15
【问题描述】:
我知道以前有人问过这个问题,但提供的解决方案似乎对我不起作用。
我目前正在开发一个 Web 应用程序,并且我目前正在处理用户个人资料页面。我所做的是当用户访问他/她的个人资料时,他/她将能够管理他/她的个人资料。
我有一个弹簧表单:选择框,它填充从控制器传递的 RolesObject 列表和 GroupsObject 列表。该对象由 id 和 name 字段组成。我想要的是当 form:select 加载时,它将从列表中选择用户的当前角色 ID 和组 ID。
控制器
public ModelAndView viewProfile(parameters) {
ModelAndView mav = new ModelAndView();
mav.setViewName("viewProfile");
...
List<RolesObject> roles = rolesService.getRolesList();
List<GroupsObject> groups = groupsService.getGroupsList();
Map<String, List> map = new HashMap<String, List>();
map.put("roles", roles);
map.put("groups", groups);
mav.addObject("map", map);
return mav;
查看
<form:select path="role_id" id="role_id" cssClass="form-control" cssStyle="width: 100%;" value="${current.getRole_id()}" required="required">
<c:forEach var="role" items="${map.roles}">
<form:option value="${role.getId()}" label="${role.getName()}" />
</c:forEach>
</form:select>
<form:select path="group_id" id="group_id" cssClass="form-control" cssStyle="width: 100%;" value="${current.getGroup_id()}" required="required">
<c:forEach var="group" items="${map.groups}">
<form:option value="${group.getId()}" label="${group.getName()}" />
</c:forEach>
</form:select>
我的问题是列表填充但它没有选择默认值。
假设我的角色价值观是 值=1,标签=角色_1 值=2,标签=角色_2
and the user's current role is role_2 which has an id of 2, when the select form loads, it does not automatically load role_2 but instead still shows role_1 as the selected value
【问题讨论】:
标签: spring spring-mvc