freemarker for循环怎么写

2024-11-28 13:41:31
推荐回答(3个)
回答1:

代码如下:

<#if totalPage gt 10>
<#list 1..10 as t>
<#if pageNo==t>

  • ${t}

  • <#else>    
  • ${t}



  • <#else>
    <#list 1..totalPage as t>
    <#if pageNo==t>
  • ${t}

  • <#else>      
  • ${t}




  • 扩展资料

    Freemarker 3种循环模式

    1、map循环

    举例:

    <#if vo.urlMap??>

    <#list vo.urlMap?keys as key>

  • ${key!''}

  • vo.urlMap?keys: 将map中的key循环(类似keySet迭代器)

    循环中通过map[key]来取的key对应的value

    如果需要当前循环下标, 使用循环对象_index取即可, 如: key_index

    2、list循环

    举例:

    <#list vo.valueList as value> 

    ${value!''}

    3、自定义次数循环

    举例:

    <#list 0..(nums?number)!0 as i>

    ${vo.valueList[i]!''}

    <#list 1..100 as i>

    ${vo.valueList[i]!''}

    回答2:

    首先,freemarker的ftl指令里没有for循环这个用法,因为freemarker是一种纯粹的视图技术,不允许在ftl页面里写任何Java代码。
    其次,如果只是想迭代输出的话,你可以用<#list/>这个标签。
    再次,如果你是在Struts2中用freemarker的话,还可以引用struts2标签库的标签来实现相同功能,但首先要引入Struts2的标签库。

    回答3:

    可以变通一下吗
    <#list 1..100 as t>
    ${t}

    循环1到100
    这不就相当于
    for(int i=1;i<=100;i++){

    }