【问题标题】:Spring Form:Select selected value弹簧形式:选择选定的值
【发布时间】: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


    【解决方案1】:

    对于选项的预选,需要在控制器中设置role_id和group_id,并将其设置为页面表单对象的model属性。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-02-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-12
      • 1970-01-01
      • 2015-09-10
      相关资源
      最近更新 更多