2010-10-21 86 views
0

地圖目標有可能實現以下使用普通JSTL:迭代使用JSTL

<%@ page language="java" contentType="text/html; charset=ISO-8859-1" 
    pageEncoding="ISO-8859-1"%> 

<table> 
<% 
    java.util.Map msgMap = (java.util.Map) request.getAttribute("messageMap"); 

    for(int loopCount=1;loopCount>0;loopCount++) { 
     if(msgMap.containsKey("/packagesBO/packages["+loopCount+"]/packageId")) { 
%> 
<tr> 
<td><%=msgMap.get("/packagesBO/packages["+loopCount+"]/packageName")%></td> 
</tr> 
<% 
     } 

     else { 
      break; 
     } 
    } 
%> 
</table> 
+0

這看起來很不對我。我認爲你在濫用地圖。而你的loopCount =? – Bozho 2010-10-21 07:48:33

回答

0

是的,它是看看C:的forEach和c:如果和表達語言。 這裏的一個例子(未測試):

<table> 
    <c:forEach var="entry" items="${messageMap}" varStatus="num"> 
    <c:if test=${messageMap['/packagesBO/packages["+num.count+"]/packageId']}> 
     <tr> 
     <td><c:out value="${messageMap['/packagesBO/packages[\"+num.count+\"]/packageId']"}/></td> 
     </tr> 
    </c:if> 
    </c:forEach> 
</table>