2013-06-03 7 views
6

मेरे पास एक सूची है जिसे मैं दृश्य में वापस भेज रहा हूं।प्लेफ्रेमवर्क: एक सूची पर लूपिंग

public static Result index() { 

     List<String> list = new ArrayList<String>(); 
     list.add("idea 1"); 
     list.add("idea 2"); 
     list.add("idea 3"); 
     list.add("idea 4"); 
     list.add("idea 5"); 
     list.add("idea 6"); 
     list.add("idea 7"); 

     return ok(index.render(list)); 
} 

मैं एक समय में यह 3 से अधिक पुनरावृति करने के लिए इतना है कि यह इतना की तरह प्रदर्शित किया जाता है चाहते हैं:

<ul> 
    <li>idea 1</li> 
    <li>idea 2</li> 
    <li>idea 3</li> 
</ul> 
<ul> 
    <li>idea 4</li> 
    <li>idea 5</li> 
    <li>idea 6</li> 
</ul> 
<ul> 
    <li>idea 7</li> 
</ul> 

मैं कैसे पाश के लिए उपयोग कर यह करने के लिए यह पता लगाने में असमर्थ हूँ।

मैं इसके लिए जावा कोड है, बस प्ले ढांचे टेम्पलेट कोड को यह अनुवाद करने में असमर्थ:

 int size = list.size(); 
     int loopSize = (int) Math.ceil(size/3.0); 
     int counter = 0; 

     for(int j = 0 ; j < loopSize; j++) { 

      System.out.println("---------------------");    

      for (int i = 0; i < 3; i++) { 
       if(counter < size) { 
        System.out.println(list.get(counter)); 
        counter++; 
       } else { 
        break; 
       } 
      } 

      System.out.println("---------------------"); 
     } 

उत्तर

10

यह काम करना चाहिए:

@(list: List[String]) 

@for(index <- 0 until list.size){ 
    @if(index % 3 == 0){ 
     <ul> 
    } 

    <li>@list(index)</li> 

    @if(index % 3 == 2 || index == (list.size - 1)){ 
     </ul> 
    } 
} 
8

यहाँ एक अधिक स्काला-esque संस्करण है:

@(list: List[String]) 

@list.grouped(3).map { group => 
    <ul> 
    @group.map { item => 
    <li>@item</li> 
    } 
    </ul> 
} 

(अन्य प्रतिक्रिया प्रश्न के उत्तर देती है जैसा कि अधिक सीधे पूछा जाता है, खासकर सवाल के रूप में आर अपने बाकी परियोजना में स्कैला का उपयोग नहीं कर सकता है)।

+0

आप सही हैं। मैं जावा का उपयोग कर रहा हूं और @ एरस द्वारा प्रतिक्रिया जावा पृष्ठभूमि से अधिक प्राकृतिक आ रही है। –

1

यहाँ एक काम कर उदाहरण है,

@(list: List[String]) 

@for(value <- list){ 

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