欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

FreeMarker入门

程序员文章站 2022-04-29 20:57:14
...

目录

 

一、什么是FreeMarker

二、FreeMarker的入门程序

1、在使用FreeMarker之前,需要将它的jar包导入,maven工程直接导入依赖即可:

2、编写一个模板,以.ftl格式命名

 3、编写入门程序freemarkerTest.java,使用freemarker


一、什么是FreeMarker

FreeMarker是当前流行的模板引擎,即一种基于模板和要改变的数据, 并用来生成输出文本(HTML网页,电子邮件,配置文件,源代码等)的通用工具。 它不是面向最终用户的,而是一个Java类库,是一款程序员可以嵌入他们所开发产品的组件。

模板编写为FreeMarker Template Language (FTL)。它是简单的,专用的语言, 不是 像PHP那样成熟的编程语言。 那就意味着要准备数据在真实编程语言中来显示,比如数据库查询和业务运算, 之后模板显示已经准备好的数据。在模板中,你可以专注于如何展现数据, 而在模板之外可以专注于要展示什么数据。

在Java开发中,常常使用FreeMarker将动态网页静态化,让用户在访问页面时无需加载动态数据,减少数据库的并发压力。

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格式命名

FreeMarker入门

 

 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入门

 

相关标签: freemarker