freemarker list用法
来源:互联网 发布:伊波拉病毒 电影 知乎 编辑:程序博客网 时间:2024/04/28 23:48
在freemarker中list是经常用到的
比如在页面中需要有个单纯的遍历(以年度为例),无需调用任何数据,很方便
代码:
这样会遇到一个问题,当数据超过3位的时候,freemarker会自动用逗号截取 格式如:2,008
如何解决呢?
1> 加.toString(),如:${(userId).toString()}
2> 加?c,如:${(userId)?c}
3> freemarker配置文件freemarker.properties加上number_format=#
判断是否为空:
1.<#if xx[0]?exists>
2.<#if xx??>
3.<#if xx?default("xxx")>
不然当没有数据的时候 ,很大很大一个黄页就等着你了
序列号:
有时候页面的table需要在第一列显示序号 只需要使用 _index 即可 不过是从0开始的 你可以+1 比如:
<#list list as a>
${a_index+1}
</#list>
数据类型转换:
${xx?string} //字符串
${xx?number}//整数
${xx?currency}//小数
${xx?percent}//百分比
截取字符串长度:
有的时候我们在页面中不需要显示那么长的字符串,比如新闻标题,这样用下面的列子就可以自定义显示的长度
< lt. <= lte. > gt. >= gte
<#if jstbqkVO.gzdd?length lt 8>
<a href>${jstbqkVO.gzdd?default("")}</a>
<#else>
<a href title="${jstbqkVO.gzdd}">${jstbqkVO.gzdd[0..3]?default("")}...</a>
</#if>
意思就是如果这个字符串的长度小于8,那么就正常显示,反之则取4位
嵌套list:
很多时候,数据库里存储的都是编号,而页面上需要显示的汉字,而且不在一张表里,看列子
<#list jsskList as jsskVO>
<#list kcList as kcVO>
<#if kcVO.kch=jsskVO.kch> (kcVO里有编号和名称,而jsskVO里只有编号)
${kcVO.kcm}
</#if>
</#list>
</#list>
排序:
1.升序.sort_by()
<#list list?sort_by("字段") as x>
</#list>
2.降序.sort_by()?reverse
<#list list?sort_by("字段")?reverse as x>
</#list>
去空格:
${xx?trim}
格式化日期:
${date?string("yyyy-MM-dd HH:mm:ss ")}
${date?string("yyyyMMdd ")}
1. freemarker获取list的size :
Java
- ArrayList<String> list = new ArrayList<String>();
Freemaker
- ${list?size}
2. list的遍历:
- <#list animals as being>
- <tr>
- <td>${being.name}${being.price}<td>
- </tr>
- </#list>
3.list遍历中的下标序号:
_index是list的一个属性
- <#list list as a>
- ${a_index}
- </#list>
4. list的嵌套:
- <#list jsskList as jsskVO>
- <#list kcList as kcVO>
- <#if kcVO.kch=jsskVO.kch> (kcVO里有编号和名称,而jsskVO里只有编号)
- ${kcVO.kcm}
- </#if>
- </#list>
- </#list>
5. list排序:
升序 .sort_by()
- <#list list?sort_by("字段") as x>
- </#list>
降序 .sort_by()?reverse
- <#list list?sort_by("字段")?reverse as x>
- </#list>
6. list标签遍历map:
- <#list avertisementTypeMap?keys as key>
- <option value="${key}">${avertisementTypeMap[key]}</option>
- </#list>
- freemarker list用法
- Freemarker中list的用法
- freemarker的<#list>标签的用法。
- freemarker list
- FreeMarker-list
- freemarker list
- freemarker list
- freemarker取list的第一个元素 循环用法
- freemarker List 套 List
- freemarker用法
- freeMarker 用法
- freemarker用法
- freemarker中list排序
- FreeMarker中list排序
- FreeMarker中list排序
- FreeMarker中list排序
- Freemarker之List学习
- freemarker 的list问题
- [osg]源码分析:osg::Referenced
- XSLT轻松入门
- 动态切换 Linux 使用的 CPU 数量
- 位运算技巧
- VC中实现截屏并保存为.bmp格式的图片
- freemarker list用法
- 如何让Service自动重启而不被kill掉
- ACE学习(八)Reactor模式
- 自定义事件
- at 和crontab
- [osg]源码分析:OSG中的智能指针osg::ref_ptr
- 第十一次实验任务
- org.hibernate.HibernateException: Unable to get the default Bean Validation factory
- Android 深入研究adb