У меня есть Hashtable с именем sportMap и список спортивных идентификаторов (List sportIds) из моего бина. У объекта Sport есть список equipmentList. Могу ли я сделать следующее, используя унифицированную EL, чтобы получить список снаряжения для каждого вида спорта?
<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. Он распечатывает список оборудования для каждого вида спорта, указанного в списке спортивных идентификаторов.
<h:dataTable value="#{bean.sportIds}" var="_sportId" >
<h:outputText value="#{bean.sportMap[_sportId].equipmentList}">
</h:outputText>
</h:dataTable>
Я хотел бы использовать тег c: forEach. Кто-нибудь знает возможно ли это? Если нет, у кого-нибудь есть предложения? В конце я хочу составленный список вместо разделенного запятыми списка, предоставленного equipmentList.toString (); (Кроме того, не нужно переопределять toString ()).