foreach嵌套循環


最近幾天被這個嵌套搞暈了,還好經過幾天的努力終於解決了,特記錄下,因為要傳兩個List集合到jsp頁面,還都是在一起輸出,發現不能把兩個集合放在一個foreach,所以就寫了兩個foreach來接受,可是問題來了,因為是嵌套,里層foreach的循環次數會被外層的循環次數影響,里層的foreach循環次數總是里層乘以外層的總和,我只想兩個foreach循環次數是一樣,這樣取出的值,才能湊一起,想過在后台把兩個集合放一起在傳,但是因為是兩個不同類型的集合,要么存不進去,要么存進去取出來就有問題了,又想用if語句判斷里層循環次數,只要里層的循環次數和外層的循環次數一樣就停止,然后想多了,外層循環一次,里層就要循環外層的總次數,最后終於想到動態的輸出里層數據,用foreach里的begin和end屬性,begin設置開始取值的下標,end設置結束取值的下標,意思就是這個foreach每次循環只取begin到end下標開始的值,最后在外層的foreach加一個varStatus=”status”屬性獲取外層的循環次數,將里層的begin和end的值改成外層的循環次數begin=”status.index”、end=”status.index”,這樣每次循環里層只取一個值,最終把所有值都取出。這個問題我以為我一直都解決不了呢,困擾很久了,找了很久都沒找到答案,還好仔仔細細的看了foreach的所有屬性和用法,終於解決了,雖然問題不難,但作為菜鳥道路上的一道坎,還是要記錄哈 。

<c:forEach var="x" items="${information }" varStatus="ix">
 <c:forEach var="a" begin="${ix.index }" end="${ix.index}" varStatus="ia" items="${information_11 }">
   <div class="div">
   <div class="div1">
     <a href="information?src=${x.uid }" target="_blank"><img src="${a}" width="200px" height="200px"></a>
   </div>
   <div class="span"><a>¥${x.price_2 }</a></div>
   <div><a style="color:#383838;">${x.name }</a></div>
   <div class="div2">
    <a style="color:gray;">總銷量:${x.volume }</a>
    <a style="float:right; margin-right:20px; color:#3366FF;">| 評價:${x.comment }</a>
   </div>
  </div>
  </c:forEach>
 </c:forEach>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM