第一步、导入依赖

<dependency>
<groupId>org.freemarker</groupId>
<artifactId>freemarker</artifactId>
<version>2.3.23</version>
</dependency>

第二步、创建拓展名为ftl的模板文件

模板文件中四种元素

1、文本,直接输出的部分
  2、注释,即<#--...-->格式不会输出
  3、插值(Interpolation):即${..}部分,将使用数据模型中的部分替代输出
  4、FTL指令:FreeMarker指令,和HTML标记类似,名字前加#予以区分,不会输出。

我们现在就创建一个简单的创建模板文件test.ftl

<html>
<head>
<meta charset="utf-8">
<title>Freemarker入门小DEMO </title>
</head>
<body>
<#--我只是一个注释,我不会有任何输出 -->
${name},你好。${message}
</body>
</html>

这里有文本、插值和注释

第三步、生成文件

使用步骤:

第一步:创建一个 Configuration 对象,直接 new 一个对象。构造方法的参数就是 freemarker的版本号。

第二步:设置模板文件所在的路径。

第三步:设置模板文件使用的字符集。一般就是 utf-8.

第四步:加载一个模板,创建一个模板对象。

第五步:创建一个模板使用的数据集,可以是 pojo 也可以是 map。一般是 Map。

第六步:创建一个 Writer 对象,一般创建一 FileWriter 对象,指定生成的文件名。

第七步:调用模板对象的 process 方法输出文件。

第八步:关闭流

代码:

创建Test类 main方法如下:

//1.创建配置类
Configuration configuration=new Configuration(Configuration.getVersion());
//2.设置模板所在的目录
configuration.setDirectoryForTemplateLoading(new File("D:/demo_work/freemarkerDemo/src/main/resources/"));
//3.设置字符集
configuration.setDefaultEncoding("utf-8");
//4.加载模板
Template template = configuration.getTemplate("test.ftl");
//5.创建数据模型
Map map=new HashMap();
map.put("name", "张三 ");
map.put("message", "欢迎使用Freemarker!");
//6.创建Writer对象
Writer out =new FileWriter(new File("d:\\test.html"));
//7.输出
template.process(map, out);
//8.关闭Writer对象
out.close();

执行后,在D盘根目录即可看到生成的test.html 。

最新文章

  1. 第9章 Shell基础(2)_Bash基本功能
  2. libvirt 网络手册(二):桥接网络
  3. 解决java.lang.IncompatibleClassChangeError: Implementing class
  4. linux系统安装配置
  5. Android 内存剖析 – 发现潜在问题
  6. tcp_tw_reuse 与 net.ipv4.tcp_tw_recycle
  7. TDirectory.GetAttributes、TDirectory.SetAttributes获取和设置文件夹属性
  8. java反射中Method类invoke方法的使用方法
  9. Colorful Bricks CodeForces - 1081C ( 组合数学 或 DP )
  10. 『The Captain 最短路建图优化』
  11. P1341 无序字母对 欧拉回路
  12. python之路-列表、元组、range
  13. 使用Docker搭建CentOS 7 + Apache 2.4+ PHP7
  14. JQuery编写自己的插件(七)
  15. TSFDEVTY
  16. was重要文件位置备忘
  17. py库: xlwt 、xlrd (写读EXCEL文件)
  18. ERROR tool.ImportTool: Encountered IOException running import job: java.io.IOException: Hive exited with status 2
  19. 评论:一套Developer Express控件包 For Delphi7
  20. android FrameLayout

热门文章

  1. Linux中解压、压缩 ZIP文件
  2. StopWatch方法详解
  3. 内部属性[[class]]
  4. FI-BTEs增强FIBF
  5. Xcode 10 Archive 时电脑卡死
  6. SQL SERVER升级2017
  7. Maven之setting.xml 配置详解
  8. 如何使用git,进行项目的管理
  9. CF938G Shortest Path Queries 和 CF576E Painting Edges
  10. kubectl kubernetes cheatsheet