2016-07-08 72 views
0

我知道這已被問過,但所提供的解決方案似乎不適用於我的目的。彈簧形式:選擇所選值

我目前正在開發一個web應用程序,我目前正在處理用戶配置文件頁面。我所做的是,當用戶訪問他/她的個人資料時,他/她將能夠管理他/她的個人資料。

我有一個彈簧窗體:選擇框填充從控制器傳遞的RolesObject列表和GroupsObject列表。該對象由一個id和名稱字段組成。我想要的是當窗體:選擇加載時,它將從列表中選擇用戶的當前角色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,標籤= role_1 值= 2,標籤= role_2

和用戶的當前角色是role_2其中有2的ID,選擇形式負載時,它不會自動加載role_2,而是仍然將role_1顯示爲所選值

回答

0

要預選選項,您需要在控制器中設置role_id和group_id,並將其設置爲頁面上表單對象的modelattribute。

+0

我試過但沒有在我的情況下工作。 – ReiSchneider