2013-02-27 95 views
1

我有持有該模型類似值列表控制器文件列表,迭代在JSTL

List caseIds = new ArrayList(); 
for(int i=0; i<caseLists.size(); i++) 
{ 
    if(caseIds.contains(caseLists.get(i).getCaseId())) 
     continue; 
    else 
     caseIds.add(caseLists.get(i).getCaseId());    
} 
model.put("caseIdList", caseIds); 

,我想,以顯示UI這個caseIds在下拉框中。我的代碼看起來像這樣,

<select name="caseIds" id="caseIds"> 
    <option value="">All</option> 
    <c:forEach var="item" items="${model.caseIdList}"> 
     <option value="<c:out value='${item.caseIdList}'/>" > 
      <c:out value="${item.caseIdList}"/>  
     </option> 
    </c:forEach> 
</select> 

我的意思是我想下拉(選擇框)的id和值caseId的。我明白在使用item.caseIdList獲取項目時出現錯誤。我應該怎麼辦?

+0

是否'item'有一個名爲'caseIdList'財產? 'caseIds'持有什麼類型的數據? – orique 2013-02-27 16:02:37

+1

是不是'item.caseId'? – 2013-02-27 16:04:13

+0

caseIdList在動作類中設置。它的值有1000,1001 ... – JNPW 2013-02-27 16:04:35

回答

1

item了在JSP循環將是與caseLists.get(i).getCaseId()加入caseId,所以我覺得你只是想以下幾點:

<select name="caseIds" id="caseIds"> 
    <option value="">All</option> 
    <c:forEach var="item" items="${model.caseIdList}"> 
     <option value="<c:out value='${item}'/>" > 
      <c:out value="${item}"/>  
     </option> 
    </c:forEach> 
</select> 
1

這是你想要做什麼:

<select name="caseIds" id="caseIds"> 
    <option value="">All</option> 
    <c:forEach var="item" items="${model.caseIdList}"> 
     <option value="<c:out value='${item}'/>" > 
      <c:out value="${item}"/>  
     </option> 
    </c:forEach> 
</select> 

您需要使用item代替item.caseIdList因爲caseIdList包含Integer