2010-11-10 11 views
14

मेरे पास मेरे मॉडल से दो आइटम हैं और मैं उन्हें jstl foreach का उपयोग करके उसी पर पुन: सक्रिय करना चाहता हूं। मैं सही वाक्यविन्यास का उपयोग करके इसे कैसे प्राप्त कर सकता हूं?क्या jstl में foreach का उपयोग कर एक साथ दो आइटम पुनरावृत्त करना संभव है?

उत्तर

26

आप यात्रा के मौजूदा दौर के सूचकांक पाने के लिए varStatus.index फोन, और उसके बाद दूसरी सूची के लिए एक देखने के रूप में उपयोग कर सकते हैं।

उदाहरण के लिए, यदि आप दो सूचियों people.firstnames है और people.lastnames आप कर सकते हैं:

<c:forEach var="p" items="${people.firstnames}" varStatus="status"> 
    <tr> 
     <td>${p}</td> 
     <td>${people.lastnames[status.index]}</td> 
    </tr> 
</c:forEach> 
+0

काफी सीधे और चालाक दृष्टिकोण। +1 –

+0

धन्यवाद। यह काम किया। – randy

0

मुझे लगता है कि आपको संग्रह करना होगा कि आप एक बार में पुन: प्रयास करना चाहते हैं। एक गेटटर जोड़ें जो इन दो संग्रहों को विलय करेगा और पुनरावृत्ति के लिए इसका उपयोग करेगा। उदाहरण

JSTL में
private Collection<String> first; 
private Collection<String> second; 

public Collection<String> getBoth() 
{ 
    List<String> result = new ArrayList<String>(); 
    result.addAll(first); 
    result.addAll(second); 
    return result; 
} 

पुनरावृत्ति के लिए:

<c:forEach var="p" items="${people.both}"> 
    <tr> 
     <td>${p}</td> 
    </tr> 
</c:forEach> 
+0

इस का उपयोग करते हुए, मैं कैसे पुनरावृति कर सकते हैं पहले और दूसरे संग्रह JSTL foreach का उपयोग कर? धन्यवाद boris – randy

+0

getBoth() ??? के परिणाम का उपयोग करें ??? – ZeissS

संबंधित मुद्दे