我有一個Hashtable < Integer,Sport>叫做sportMap和sportIds列表(列表< Integer> sportIds)來自我的支持bean。 Sport對象有一個列表< String> equipmentList。我可以使用統一的EL來完成下列各項運動的設備清單嗎?我可以使用JSF 1.2和JSP 2.1在c:forEach標記的統一EL表達式中使用Hashtable嗎?
<h:dataTable value="#{bean.sportIds}" var="_sportId" >
<c:forEach items="#{bean.sportMap[_sportId].equipmentList}" var="_eqp">
<h:outputText value="#{_eqp}"></h:outputText>
<br/>
</c:forEach>
</h:dataTable>
嘗試運行此JSP代碼時出現以下異常。
15:57:59,438 ERROR [ExceptionFilter] exception root cause javax.servlet.ServletException: javax.servlet.jsp.JspTagException: Don't know how to iterate over supplied "items" in <forEach>
這裏的打印出我的環境
Server: JBossWeb/2.0.1.GA Servlet Specification: 2.5 JSP version: 2.1 JSTL version: 1.2 Java Version: 1.5.0_14
注:使用JSF標籤下面做工作。它列出sportIds列表中指定的每項運動的設備列表。
<h:dataTable value="#{bean.sportIds}" var="_sportId" >
<h:outputText value="#{bean.sportMap[_sportId].equipmentList}">
</h:outputText>
</h:dataTable>
我想使用c:forEach標記。有誰知道這是否可能?如果沒有,任何人都有建議?最後,我想要一個堆疊列表,而不是由equipmentList.toString()提供的逗號分隔列表。 (另外,不想覆蓋toString())。