FreeMarker入门
程序员文章站
2022-04-29 20:57:14
...
目录
1、在使用FreeMarker之前,需要将它的jar包导入,maven工程直接导入依赖即可:
3、编写入门程序freemarkerTest.java,使用freemarker
一、什么是FreeMarker
FreeMarker是当前流行的模板引擎,即一种基于模板和要改变的数据, 并用来生成输出文本(HTML网页,电子邮件,配置文件,源代码等)的通用工具。 它不是面向最终用户的,而是一个Java类库,是一款程序员可以嵌入他们所开发产品的组件。
模板编写为FreeMarker Template Language (FTL)。它是简单的,专用的语言, 不是 像PHP那样成熟的编程语言。 那就意味着要准备数据在真实编程语言中来显示,比如数据库查询和业务运算, 之后模板显示已经准备好的数据。在模板中,你可以专注于如何展现数据, 而在模板之外可以专注于要展示什么数据。
在Java开发中,常常使用FreeMarker将动态网页静态化,让用户在访问页面时无需加载动态数据,减少数据库的并发压力。
FreeMarker官方中文文档:http://freemarker.foofun.cn/
二、FreeMarker的入门程序
1、在使用FreeMarker之前,需要将它的jar包导入,maven工程直接导入依赖即可:
<dependency>
<groupId>org.freemarker</groupId>
<artifactId>freemarker</artifactId>
<version>2.3.28</version>
</dependency>
2、编写一个模板,以.ftl格式命名
3、编写入门程序freemarkerTest.java,使用freemarker
(1)创建Configuration对象
Configuration configuration = new Configuration(Configuration.getVersion());
(2)指定模板文件目录
configuration.setDirectoryForTemplateLoading(new File("D:/workspace_e3shop/e3-item-detail/src/main/webapp/WEB-INF/ftl"));
(3)指定要使用来填充内容的字符集
configuration.setDefaultEncoding("utf-8");
(4)指定模板文件
Template template = configuration.getTemplate("hello.ftl");
(5)创建Map,并将内容以键值对的形式指定
Map dataModel= new HashMap<>();
dataModel.put("hello", "first use freemarker --arong");
(6)指定文件输出位置
FileWriter out= new FileWriter(new File("D:/temp/hello.html"));
(7)调用模板对象的process方法输出文件
template.process(dataModel, out);
(8)关流
out.close();
执行后,查看temp目录下的hello.html,模板和数据已经合成在一起了!
上一篇: freemarker学习