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

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

  话题扯的有点远了,再次更新一下关于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. 基于Hadoop2.5.0的集群搭建

    http://download.csdn.net/download/yameing/8011891 一. 规划 1.  准备安装包 JDK:http://download.oracle.com/otn ...

  2. 卸载CDH5.7

    CDH5.7卸载1.记录用户数据目录2.关闭所有服务2.1在CM中,选择某个集群,然后停止集群.2.2逐个关闭CDH中的服务3.删除parcels4.删除集群5.卸载Cloudera manager ...

  3. codeforces 359E Neatness(DFS+构造)

    Simon loves neatness. So before he goes to bed, Simon wants to complete all chores in the house. Sim ...

  4. c# throw抛出上一个异常

    catch(exception e) { throw; } 不仅抛出这次的异常,也抛出之前的异常. 用法示例:函数A调用函数B,A用到此throw时,B中发生的异常也会继承过来. catch(exce ...

  5. 内部网关协议RIP 路由选择算法(距离向量)

    RIP是一种基于距离向量的路由选择协议 RIP的距离就是指的跳数,没经过一个路由,就是一跳,RIP允许一跳路径最多经过15个路由器,所以16个的话就相当于不可以到达了 RIP协议的特点: 1:仅和相邻 ...

  6. python学习笔记06:操作文件

    调用内置的open函数打开文件,传递两个参数:文件路径(绝对路径或相对路径),打开模式('r':读,'r+':读写,'w':写,'b':二进制): f = open('data.txt','w') f ...

  7. k邻近算法理解及代码实现

    github:代码实现 本文算法均使用python3实现 1 KNN   KNN(k-nearest neighbor, k近邻法),故名思议,是根据最近的 $ k $ 个邻居来判断未知点属于哪个类别 ...

  8. LintCode-371.用递归打印数字

    用递归打印数字 用递归的方法找到从1到最大的N位整数. 注意事项 用下面这种方式去递归其实很容易: recursion(i) { if i > largest number: return re ...

  9. <Effective C++>读书摘要--Inheritance and Object-Oriented Design<二>

    <Item 36> Never redefine an inherited non-virtual function 1.如下代码通过不同指针调用同一个对象的同一个函数会产生不同的行为Th ...

  10. Ubuntu安装配置JDK、Tomcat、SVN服务器

    一.配置jdk 1.下载JDK http://www.oracle.com/technetwork/java/javase/downloads/index-jsp-138363.html 注:笔者是直 ...