2016-04-10 37 views
0

Apache FreeMarker şablonunda tek sıralı döngü nasıl yazılır? Sonuç olarakTek sıra ile döngü

<#list seq as n> 
    ...? 
    ${n_index} 
</#list> 

: örneğin

1,3,4,5 ..

cevap

0

Modulus operatörünü kullanın.

<#list seq as n> 
    <#if n % 2 == 1> 
     <#-- your code here --> 
    </#if> 

</#list> 
+0

Ama ne 'x'? Her neyse, şimdi 'n? Is_odd_item' var; cevabımı gör. – ddekany

+0

@ddekany gerçekten, n değil, sabit, – Szeki

+0

olduğunu kontrol edin, sıradaki pozisyonu değil, kontrol edilmesi gerektiğini varsayalım ... OP'in yazdığıdan emin değilim, $ {n_index} ', değil' $ {n} '. – ddekany

0

sonuç ise liste öğesi (n) kendisi ... paritesine göre filtreleme aksine, dizisinin 1., 3. vb 5., öğeyi yazdırmak için aslında sizi istediğiniz varsayarsak 1, 2, vb, daha sonra, hatta, hatta öğeleri istiyorum ya da 0 tabanlı n?index değil 0 tabanlı, n?counter istiyorum. kılavuzda

<#list seq as n> 
    <#if n?is_odd_item> 
     ${n?counter}: ${n} 
    </#if> 
</#list> 

İlgili sayfa:: Geçen (artı ben de yazdırmak öğeyi kendisi) varsayarsak sizin örnekte http://freemarker.org/docs/ref_builtins_loop_var.html