2013-12-11 31 views
2

我正在使用Spring MVC。如何使用Spring MVC將Java Map放入Optgroup選項?

我目前已經被從Java傳遞到我的網頁在經過了request.setAttribute稱爲「userLocales」

我需要以某種方式獲得該變量的字符串變量(「userLocales」,bluh bluh bluh)一個地圖在optgroup select元素中構建選項元素列表。我最初的想法是以某種方式將該Map變成一個Javascript對象,然後將這些字符串添加到新創建的選項元素中以放入optgroup元素中。

optgroup元素是靜態的,並且已經創建。我只需要在其中包含字符串的選項。

回答

5

我想我在發佈這個問題後立刻找到了答案。精彩

來源:http://www.imrantariq.com/blog/option-group-capability-for-spring-mvc-form-taglib/

的「OPTGROUP」屬性被設置時將首先進行排序任何「表達」在「OPTGROUP」被定義,然後將跟蹤迭代的進展,並插入「OPTGROUP」 html開始標記,並在選擇列表中使用「optgroup」中的表達式作爲標籤結束標記。

不幸的是,目前spring mvc並沒有通過它的標籤提供這樣的功能。這可以通過下面給出的很好的邏輯來實現。 你需要從控制器發送一個hashMap。

Map<String, ArrayList<String>> 

在此映射中,字符串是關鍵字,即組名和arraylist是位於該組中的值的數量。 Jsp代碼可以用這種方式編寫。

<form:select multiple="single" path="itemType" id="itemType"> 
    <form:option value="0" label="Select" /> 
    <c:forEach var="itemGroup" items="${itemTypeList}" varStatus="itemGroupIndex"> 
     <optgroup label="${itemGroup.key}"> 
      <form:options items="${itemGroup.value}"/>   
     </optgroup> 
    </c:forEach>   
</form:select>