freemarker for循环怎么写

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了freemarker for循环怎么写相关的知识,希望对你有一定的参考价值。

代码如下:

<#if totalPage gt 10>
<#list 1..10 as t>
<#if pageNo==t> <li class="thisclass">$t</li>
<#else>    <li><a href="$menu.address/list_$t.html">$t</a></li>
</#if>
</#list>
<#else>
<#list 1..totalPage as t>
<#if pageNo==t> <li class="thisclass">$t</li>
<#else>      <li><a href="$menu.address/list_$t.html">$t</a></li>
</#if>
</#list>
</#if>

扩展资料

Freemarker 3种循环模式

1、map循环

举例:

<#if vo.urlMap??>

<#list vo.urlMap?keys as key>

<li>

<a href="$vo.urlMap[key]!''">$key!''</a>

</li>

</#list>

</#if>

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

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

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

2、list循环

举例:

<#list vo.valueList as value> 

<td>$value!''</td>

</#list>

3、自定义次数循环

举例:

<!-- 动态长度  -->

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

<td>$vo.valueList[i]!''</td>

</#list>

<!-- 固定长度  -->

<#list 1..100 as i>

<td>$vo.valueList[i]!''</td>

</#list>

参考技术A 首先,freemarker的ftl指令里没有for循环这个用法,因为freemarker是一种纯粹的视图技术,不允许在ftl页面里写任何Java代码。
其次,如果只是想迭代输出的话,你可以用<#list/>这个标签。
再次,如果你是在Struts2中用freemarker的话,还可以引用struts2标签库的<s:iterator/>标签来实现相同功能,但首先要引入Struts2的标签库。
参考技术B 可以变通一下吗
<#list 1..100 as t>
$t
</#list>
循环1到100
这不就相当于
for(int i=1;i<=100;i++)

本回答被提问者和网友采纳

以上是关于freemarker for循环怎么写的主要内容,如果未能解决你的问题,请参考以下文章

Freemarker 可以嵌套循环么

Spring Boot 初体验(10)使用使用freemarker

怎么在freemarker中循环序号

关于FreeMarker的list循环取值问题

FreeMarker 模板错误:以下已评估为 null 或缺失 |但不是真的

Java中for怎么写