我是靠谱客的博主 儒雅大侠,最近开发中收集的这篇文章主要介绍Freemarker list 对象取前几条数据,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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

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

<#assign n = list5?size /> //定义n的值为list5的大小
<#if n gt 6> //如果n大于6,页面中可能要求只显示6条
<#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='#' οnclick="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>

项目中应用:

[#assign n = 0] 
[#list cocoPersonInfo.cocoPersonResues as v] 
[#assign n = n + 1] 
    <tr >
      <td width="66" colspan="2" >${v.worktime_begin}</td>
      <td width="66" colspan="2" >${v.worktime_end}</td>
      <td width="300" colspan="10" >${v.workplace}</td>
      <td width="168" colspan="4" >${v.occupation}</td>
    </tr>
[#if n > 4] 
[#break] 
[/#if] 
[/#list] 
[#if n < 5] 
[#list n..4 as i]
    <tr >
      <td width="66" colspan="2" ></td>
      <td width="66" colspan="2" ></td>
      <td width="300" colspan="10" ></td>
      <td width="168" colspan="4" ></td>
    </tr>
[/#list] 
[/#if]
效果:

最后

以上就是儒雅大侠为你收集整理的Freemarker list 对象取前几条数据的全部内容,希望文章能够帮你解决Freemarker list 对象取前几条数据所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(64)

评论列表共有 0 条评论

立即
投稿
返回
顶部