人啊,有的时候就是没有办法坚持一些事情,总是因为各种理由在推脱,逐渐就变成了拖延症!例如胖先生的减肥计划,其实本来就没有计划,属于散漫形式的!一直减肥,一直在肥!总是说没有时间,没有时间!其实有时候就是自己懒!

  人啊,有时候想去坚持,总是搞不懂自己要什么?也是自己没有毅力吧!

  话题扯的有点远了,再次更新一下关于Freemarker的使用,关于迭代集合,这个还是很实用的!

  今天买了一本书,希望自己能坚持读完吧《编码高质量代码--改善Java程序的151个建议》算不算推广呢

  

        /**
* 测试研究题目为:
* 数组,map以及list
*/
@Test
public void 测试集合() {
// 1.定义一个数组
String[] usernames = new String[]{"悟空","八戒","唐僧","沙僧"};//
// 2.定义个Map
Map<String, Object> map = new HashMap<String, Object>();
map.put("book", "红楼梦");
map.put("name", "黛玉"); //3.定义一个List中存储的为Map
List<Map<String,Object>> mapList = new ArrayList<Map<String,Object>>();
mapList.add(map);
map = new HashMap<String, Object>();
map.put("book", "三国杀");
map.put("name", "刘备");
mapList.add(map);
//4.定义一个List中存储数据为User对象
List<User> userList = new ArrayList<User>();
userList.add(new User("林冲", 18));
userList.add(new User("孙二娘", 20)); //以上的数据准备完毕,现在要传递数据到模板中并且要生成HTML页面
//1.创建数据模型
Map<String, Object> root = new HashMap<String, Object>();
root.put("shxt_array", usernames);
root.put("shxt_map", map);
root.put("shxt_list_map", mapList);
root.put("shxt_list_object", userList);
// 3.生成HTML文件
fu.exportHtml("demo05.ftl", root, "集合联系.html");
}

模板文件代码demo05.ftl:

<!DOCTYPE html>
<html>
<head>
<title>处理集合数据</title>
<meta charset="UTF-8">
</head> <body>
<#--我是注释-->
<h2>遍历数组</h2>
<#list shxt_array as username>
${username}
</#list>
<h2>遍历固定的数组范围:数据引用</h2>
<#-- 定义变量 -->
<#assign news=shxt_array[1..2]/>
<#list news as username>
${username}
</#list>
<hr/>
<h2>遍历map:首先要取得所有的keys</h2>
<#assign shxts=shxt_map?keys/>
<#-- 遍历shxts -->
<#list shxts as key>
${shxt_map[key]}
</#list>
<hr/>
<h2>遍历List中存储的是Map,两种写法</h2>
<#list shxt_list_map as map>
${map.book}--${map["name"]}<br/>
</#list>
<h2>遍历List中存储的是User</h2>
<#list shxt_list_object as user>
${user.account}--${user["age"]}<br/>
</#list>
</body>
</html>

运行结果:

如果你感觉胖先生的文章对你有所帮助,请加微信,发发红包,给我一点动力!

[freemarker篇]05.关于集合的遍历的更多相关文章

  1. Java基础知识强化之集合框架笔记05:Collection集合的遍历

    1.Collection集合的遍历 Collection集合直接是不能遍历的,所以我们要间接方式才能遍历,我们知道数组Array方便实现变量,我们可以这样: 使用Object[]  toArray() ...

  2. iOS系列 基础篇 05 视图鼻祖 - UIView

    iOS系列 基础篇 05 视图鼻祖 - UIView 目录: UIView“家族” 应用界面的构建层次 视图分类 最后 在Cocoa和Cocoa Touch框架中,“根”类时NSObject类.同样, ...

  3. java 集合list遍历时删除元素

    本文探讨集合在遍历时删除其中元素的一些注意事项,代码如下 import java.util.ArrayList; import java.util.Iterator; import java.util ...

  4. java 15 -3 集合的遍历的练习

    练习:用集合存储5个动物对象,并把动物对象进行遍历. 分析: A:创建动物类 a:无参构造方法 b:有参构造方法 c:get.set方法 B:创建集合对象 a:Collection animal = ...

  5. Map集合的遍历方式:

    迭代器来遍历 : entrySet() ; keySet(); values(); eg.HashMap<String,String> map = new HashMap<Strin ...

  6. 对JAVA集合进行遍历删除时务必要用迭代器

    java集合遍历删除的方法: 1.当然这种情况也是容易解决,实现方式就是讲遍历与移除操作分离,即在遍历的过程中,将需要移除的数据存放在另外一个集合当中,遍历结束之后,统一移除. 2.使用Iterato ...

  7. Android(java)学习笔记105:Map集合的遍历之键值对对象找键和值

    package cn.itcast_01; import java.util.HashMap; import java.util.Map; import java.util.Set; /* * Map ...

  8. Android(java)学习笔记104:Map集合的遍历之键找值

    package cn.itcast_01; import java.util.HashMap; import java.util.Map; import java.util.Set; /* * Map ...

  9. Java基础知识强化之集合框架笔记53:Map集合之Map集合的遍历 键值对对象找键和值

    1. Map集合的遍历(键值对对象找键和值) Map -- 夫妻对  思路:  A: 获取所有结婚证的集合  B: 遍历结婚证的集合,得到每一个结婚证  C: 根据结婚证获取丈夫和妻子 转换:  A: ...

随机推荐

  1. Trie 树——搜索关键词提示

    当你在搜索引擎中输入想要搜索的一部分内容时,搜索引擎就会自动弹出下拉框,里面是各种关键词提示,这个功能是怎么实现的呢?其实底层最基本的就是 Trie 树这种数据结构. 1. 什么是 "Tri ...

  2. vue开发学习中遇到的问题以及解决方法

    1:node-sass 安装失败,可使用 cnpm 安装 npm install cnpm -g --registry=https://registry.npm.taobao.org cnpm -v ...

  3. HTML5 canvas制作童年的回忆大风车

    今天看到一篇CSS3写的大风车http://www.cnblogs.com/yaojaa/archive/2013/01/30/2882521.html,感觉CSS3太神奇了,这在以前用CSS是想都不 ...

  4. mysql入门 — (2)

    创建表 CREATE TABLE 表名称 [IF NOT EXISTS]( 字段名1 列类型[属性] [索引] 字段名2 列类型[属性] [索引] ... 字段名n 列类型[属性] [索引] )[表类 ...

  5. TCP系列06—连接管理—5、TCP fastopen(TFO)

    一.TFO背景 当前web和web-like应用中一般都是在三次握手后开始数据传输,相比于UDP,多了一个RTT的时延,即使当前很多应用使用长连接来处理这种情况,但是仍然由一定比例的短连接,这额外多出 ...

  6. linux解压zip

    用 unzip 的先安装 yum install -y unzip #unzip file.zip -d /root  -d指解压路径 ,不写的话默认当前目录

  7. 使用 Python 操作 Git 版本库 - GitPython

    GitPython 是一个用于操作 Git 版本库的 python 包, 它提供了一系列的对象模型(库 - Repo.树 - Tree.提交 - Commit等) 用于操作版本库中的相应对象. 版本库 ...

  8. Linux中实现在系统启动时自动加载模块

    下面是以前学习Linux时写的,后来仔细研究rc.sysinit后发现,只需要修改下列地方就可以了,不必这么麻烦的: rc.sysinit中有这样的一段代码: # Load other user-de ...

  9. 第二章 IoC

    什么是IoC 如何配置IOC Bean的生命周期 多环境配置 条件化配置Bean 什么是IOC? IOC有两层含义, 1.控制反转:将对象实例的创建与销毁的权限交给Spring容器管理,而不再是调用对 ...

  10. matlab exist函数

    函数作用:用于确定某变量或值是否存在. 调用格式: exist主要有两种形式,一个参数和两个参数的,作用都是用于确定某值是否存在:1. b = exist( a) 若 a 存在,则 b = 1: 否则 ...