数据模型:

public class AddressVo implements Serializable {private static final long serialVersionUID = 1137197211343312155L;private String name;public String getName() {return name;}public void setName(String name) {this.name = name;}public AddressVo(String name) {this.name = name;}public AddressVo() {}
}

public class UserVo implements Serializable {private String name;private Integer age;private List<AddressVo> addressVoList;private Date birthday;public String getName() {return name;}public void setName(String name) {this.name = name;}public Integer getAge() {return age;}public void setAge(Integer age) {this.age = age;}public List<AddressVo> getAddressVoList() {return addressVoList;}public void setAddressVoList(List<AddressVo> addressVoList) {this.addressVoList = addressVoList;}public Date getBirthday() {return birthday;}public void setBirthday(Date birthday) {this.birthday = birthday;}
}

@GetMapping("list")public String list(Model model){List<UserVo> userVoList=new ArrayList<>();for (int i=0;i<5;i++){UserVo userVo=new UserVo();userVo.setName("张三"+i);if(i!=3){userVo.setAddressVoList(Arrays.asList(new AddressVo("上海"+i),new AddressVo("北京"+i)));}userVo.setAge(i*5);if(i!=2){userVo.setBirthday(DateTime.now().plusDays(i).toDate());}userVoList.add(userVo);}model.addAttribute("userList",userVoList);return "userList";}

freemarker模板

<table style="width: 1000px;height: auto" cellpadding="1" cellspacing="1"><thead><tr><th>姓名</th><th>年龄</th><th>地址</th><th>生日</th><th>操作</th></tr></thead><#list userList as user ><tr><#--防止user里没有name--><td>${user.name!}</td><td>${user.age!}</td><td><#--防止user的addressVoList为空--><#list user.addressVoList!><#items as address>${address.name!} <#sep >,</#items><#else >无地址</#list></td><td>${(user.birthday?string("yyyy-MM-dd"))!"日期不存在"}</td><td><#if user?is_even_item>偶数<#else> 奇数</#if>${user?counter}</td></tr></#list></table>

展示:

1、freemarker格式化日期防止为空导致异常。

2、freemark遍历列表防止值为空导致异常。

转载于:https://www.cnblogs.com/gyjx2016/p/11171510.html

【freemarker】渲染列表一系列操作相关推荐

  1. python入门之容器类型数据的一系列操作之列表、字典、集合

    列表的操作 1.列表的拼接 (同元组) 2.列表的重复 (同元组) 3.列表的切片 (同元组) 语法 => 列表[::] 完整格式:[开始索引:结束索引:间隔值] (1)[开始索引:] 从开始索 ...

  2. python列表可以删除和修改吗_Python列表常见操作详解(获取,增加,删除,修改,排序等)...

    本文实例讲述了Python列表常见操作.分享给大家供大家参考,具体如下: 列表是由一系列按特定顺序排列的元素组成的对象.因为列表通常包含多个元素, 所以建议给列表指定一个表示复数的名称. 我们用方括号 ...

  3. 微信公众账户模拟登陆后的一系列操作

    <?php header("content-type:text/html;charset=utf-8");/*** wx_mass* * 完成微信公众账户模拟登陆后的一系列操 ...

  4. 【Python笔记】列表基础操作 :创建,增加、删除、查询。附加:练习题。用简单代码解释。

    Python:列表基础操作 创建,增加.删除.查询.附加练习题.用简单代码解释. 目录 Python:列表基础操作 演示环境 第一部分:列表(list) 1. 创建空列表 2. 创建只有默认值的列表 ...

  5. 【Vue】基础(三)条件渲染 - 列表渲染(key的作用与原理虚拟DOM解析) - 收集表单数据 - 持续更新中

    目录 11. 条件渲染 11.1 v-if 11.2 v-show 12. 列表渲染 12.1 v-for(基本列表使用) 12.2 key的作用与原理 真实DOM和其解析流程 虚拟 DOM 的好处 ...

  6. Python中列表及其操作

    文章目录 前言 一.列表简介 二.访问列表元素 三.修改.添加和删除列表元素 1.修改列表元素 2.在列表中添加元素 3.从列表中删除元素 四.对列表元素排序 五.确定列表长度 六.遍历列表 七.创建 ...

  7. python列表字典操作_Python 列表(list)、字典(dict)、字符串(string)常用基本操作小结...

    创建列表 sample_list = ['a',1,('a','b')] Python 列表操作 sample_list = ['a','b',0,1,3] 得到列表中的某一个值 value_star ...

  8. 完美解决小程序一维数组循环渲染列表不够用问题

    完美解决小程序一维数组循环渲染列表不够用问题 参考文章: (1)完美解决小程序一维数组循环渲染列表不够用问题 (2)https://www.cnblogs.com/jessical626/p/6363 ...

  9. python中判断列表数据类型_浅谈Python数据类型判断及列表脚本操作

    数据类型判断 在python(版本3.0以上)使用变量,并进行值比较时.有时候会出现以下错误: TypeError: unorderable types: NoneType() < int() ...

最新文章

  1. 【数学基础】校招算法工程师笔试题
  2. 计算节点宕机了怎么办?- 每天5分钟玩转 OpenStack(43)
  3. VTK:可视化之DisplayCoordinateAxes
  4. 安防专用交换机的应用介绍
  5. “约见”面试官系列之常见面试题第四十三篇之页面输入url之后发生了什么?(建议收藏)
  6. 围观 Joomla, Wordpress 和 Drupal
  7. 基于Python的接口自动化测试框架
  8. Mac中安装NetBeans方法
  9. 两个栈实现队列+两个队列实现栈----java
  10. Windows修改远程端口号
  11. EMR 配置纪录(不断更新)
  12. WIFi6与WIFI5技术路线演进及优势
  13. Agilent E3649A via RS232 to PC 通信终于知道错哪了
  14. 主分区、扩展分区、逻辑分区和活动分区的区别
  15. 阿里云 MaxCompute Tunnel Upload 上传典型问题整理
  16. 初谈“信息安全审计”
  17. java 曼哈顿距离_曼哈顿距离(A *)
  18. 解决ubuntu20.04播放b站视频,提示“May need to install the required video codecs”问题
  19. 三菱fx1n40mr001接线图_三菱FX1N-40MR-001使用说明书 - 广州凌控
  20. Java流程控制相关知识(四)

热门文章

  1. 用 Go 构建一个区块链 ---- Part 1: 基本原型
  2. flume采集最简demo
  3. 使用Android Studio运行项目出现 UnsupportedMethodException 错误的解决办法
  4. java字数统计_java统计字数
  5. Java中field的覆写_Java中方法的覆写
  6. java获取当前周一_Java互联网架构-Spring IOC源码分析
  7. 摄像头poe供电原理_什么是POE供电,这种POE套装有什么优势呢?
  8. php crypt加密 盐值,PHP crypt()函数的用法讲解
  9. 因果推断 - 反事实
  10. Codeforces Gym 101630J Travelling from Petersburg to Moscow (最短路)