2012-10-10 80 views
0

我試圖綁定地圖元素以從JSP中選擇值。選擇的元素來自不同的地圖,但兩個地圖中的keySet都相同。 Java代碼JSP窗體選擇與地圖綁定

部分:

private Map<String, List<String>> customCriteriaMap = new HashMap<>(); 
private Map<String, String> activeCustomCriteria = new HashMap<>(); 

因此,例如: customCriteriaMap有1項:選擇假後

kry: International, value: true 

現在:

key: International, value: list contains: true, false 

activeCriteriaMap有alsoe 1項在選擇和提交表格,我想在activeCriteri進入AMAP:

key: International, value: false 

JSP代碼:

<div class="grid_6 two"> 
    <c:forEach items="${settingsForm.customCriteria}" var="actualCriteriaValues"> 
     <c:set var="actualCriteriaKey" value="${actualCriteriaValues.key}" /> 
     <c:set var="activeCriteria" value="${settingsForm.activeCustomCriteria[actualCriteriaKey]}"/> 
     <label>Criteria:</label> 
     <form:select path="activeCustomCriteria[${actualCriteriaKey}]" > 
      <c:forEach items="${actualCriteriaValues.value}" var="actualCriteriaValue"> 
       <c:set var="optionLabel" value="${actualCriteriaValue}"/> 
       <c:choose> 
        <c:when test="${optionLabel eq 'N'}"> 
         <c:set var="optionLabel" value="False"/> 
        </c:when> 
        <c:when test="${optionLabel eq 'Y'}"> 
         <c:set var="optionLabel" value="True"/> 
        </c:when> 
       </c:choose> 
       <form:option value="${actualCriteriaValue}" label="${optionLabel}"/> 
      </c:forEach> 
     </form:select> 
    </c:forEach> 
</div> 

價值觀activeCustomCriteria從選擇選擇不同的值之後,不改變,並提交。它始終是相同的 - 默認值。

在此先感謝, 馬立克。

回答

0

好吧,

這代碼和平的代碼工作得很好,問題是在一個攔截器。仍然這個代碼可能被作爲例子如何使用一個地圖來填充選擇另一個綁定:)