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>
其次,如果只是想迭代输出的话,你可以用<#list/>这个标签。
再次,如果你是在Struts2中用freemarker的话,还可以引用struts2标签库的<s:iterator/>标签来实现相同功能,但首先要引入Struts2的标签库。
<#list 1..100 as t>
${t}
</#list>
循环1到100
这不就相当于
for(int i=1;i<=100;i++){
}