Freemarker list对象取前几条数据

本文介绍如何使用Freemarker模板引擎有效获取数据列表的前N条记录,并展示了具体的实现代码。通过条件判断和循环控制,可以灵活设置显示的数据数量。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

项目中用freemarker 做显示层,可能会遇到取出数据前几条,通过用freemarker 取数据用<#list root.list as row> ${row.title} <#/list> ,但是这种取法是取出所有的数据.

如果我想去第一条数据:

<#list arrayList as c>

    <#if c_index == 0>
      第一项的值
    </#if>

</#list>


现在只想取前5条,该怎么做?代码如下:

<#assign n = list5?size /> //定义n的值为list5的大小
<#if n gt 6> //如果n大于6,页面中可能要求只显示6条           (注:gt,gte,lt,lte)
<#assign n = 6 /> //把n重定义为6
< /#if>


< #if n!=0> //防止n的值为0,也可以写成<#if n gt 0 >
< #list 0..(n-1) as i> //把前 n 条 记录赋值给 i,如果i=3,则[0,1,2]
< #assign ls5 = list5[i] /> //把list5的第i个元素赋值给ls5
< #assign isNew = list5Istrue[i] />
< tr>
< td height='25' class='z3'>.<a href='#' onclick="zw('${ls5.CIid}','905','活动展示','');">
< #if ls5.CTitle?length lt 15> //如果Ctitle的长度小于15,就
${ls5.CTitle} //就正常显示该标题
<#else> //如果大于15
${ls5.CTitle[0..15]}... //就截取前15个,并加上…
</#if>
< #if isNew="true">
< img src='/model/img/new-111.gif' width='27' height='11' border='0' />
< /#if>
< /a></td>
< /tr>
< /#list>
< /#if>


项目中应用:

[plain]  view plain  copy
  1. [#assign n = 0]   
  2. [#list cocoPersonInfo.cocoPersonResues as v]   
  3. [#assign n = n + 1]   
  4.     <tr >  
  5.       <td width="66" colspan="2" >${v.worktime_begin}</td>  
  6.       <td width="66" colspan="2" >${v.worktime_end}</td>  
  7.       <td width="300" colspan="10" >${v.workplace}</td>  
  8.       <td width="168" colspan="4" >${v.occupation}</td>  
  9.     </tr>  
  10. [#if n > 4]   
  11. [#break]   
  12. [/#if]   
  13. [/#list]   
  14. [#if n < 5]   
  15. [#list n..4 as i]  
  16.     <tr >  
  17.       <td width="66" colspan="2" ></td>  
  18.       <td width="66" colspan="2" ></td>  
  19.       <td width="300" colspan="10" ></td>  
  20.       <td width="168" colspan="4" ></td>  
  21.     </tr>  
  22. [/#list]   
  23. [/#if]  


效果:


转自:http://blog.youkuaiyun.com/liucheng417/article/details/49659921


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值