2013-07-25 125 views
4

我想要做這樣的事情兩個變量

<c:forEach var="item1" items="List1" var="item2" items="List2"> 
<p> ${item1} ${item2}</p> 
</c:forEach> 

一個解決方案JSP的foreach標籤是通過兩個列表進行迭代,如果兩個大小相同

<c:forEach var="i" begin="0" end="$(fn:length(List1))"> 
<p> <%= List1.get(i) %> <%= List2.get(i)%> //wrong syntax 
</c:forEach> 

任何想法如何做到這一點。

回答

4

您可以致電varStatus.index獲取當前回合的索引,然後將其用作第二個列表的查找。請注意0​​的長度,否則它會拋出異常。設置itemsList兩者中的最大值。

<c:forEach var="element" items="${List1}" varStatus="status"> 
<p> 
    ${element} 
    ${List2[status.index]} 
</c:forEach> 
  1. Documentation
  2. How to avoid Java Code in JSP-Files?
+0

如何在索引i訪問元素? –

+0

@AdityaKumar'$ {List [i]}'!!!! – NINCOMPOOP

0
Array is Frist List, and B is Second List and varStatus.index to get the index of the current round and then use it as a lookup for the second list. 
<c:forEach var="Array" items="${A}" varStatus="status"> 
<c:out value="${A}","${B[status.index]}"}/> 
</c:forEach> 
+0

你還可以添加解釋嗎? – Robert