本文主要是介绍(一) Freemarker 简介 环境搭建,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一 Freemarker 简介
1. FreeMarker是一个模板引擎,一个基于模板生成文本输出的通用工具,使用纯Java编写。
2. FreeMarker不是一个Web应用框架,而是作为Web应用框架一个组件。
3. FreeMarker与容器无关,因为它并不知道HTTP或Servlet;FreeMarker同样可以应用于非Web应用程序环境。
4. FreeMarker能够生成各种文本:HTML、XML、RTF、Java源代码等等。
5. FreeMarker生成的文本可以保存到本地文件;可以作为Email发送;可以从Web应用程序发送它返回给Web浏览器。
6. Freemarker是免费的。
7. Freemarker 在开发中常用于生成html,发送邮件等应用场景。
7. Freemarker 用一句话概括就是:数据模型 + 模板
二 环境搭建
1. 引入jar 包:freemarker.2.3.23.jar
2. 编写模板 hello.ftl 文件。由于Freemarker 模板技术常用于web环境,生成html ,所以此处用html 来举例。
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="UTF-8">
- <title>${title}</title>
- </head>
- <body>
-
- 你好,${name}
- --时间: ${date?string("yyyy-MM-dd HH:mm:ss")}
-
-
- </body>
- </html>
3 . 处理类
- package org.zgf.learn.freemarker;
-
- import java.io.File;
- import java.io.OutputStreamWriter;
- import java.io.Writer;
- import java.util.Date;
- import java.util.HashMap;
- import java.util.Map;
-
- import org.junit.Test;
-
- import freemarker.template.Configuration;
- import freemarker.template.Template;
-
-
-
-
- public class Test_01_hello {
-
- @Test
- public void test_1() throws Exception{
-
- Configuration cfg = new Configuration(Configuration.VERSION_2_3_22);
-
- cfg.setDirectoryForTemplateLoading(new File("src/test/resources/templates"));
-
- cfg.setDefaultEncoding("UTF-8");
-
- cfg.setTemplateUpdateDelayMilliseconds(0);
-
-
- Map<String,Object> root = new HashMap<>();
- root.put("title", "Hello World");
- root.put("name", "键盘上的幽灵");
- root.put("date", new Date());
-
- Template template = cfg.getTemplate("hello.ftl");
-
-
- Writer out = new OutputStreamWriter(System.out);
- template.process(root, out);
- out.flush();
- out.close();
- }
-
- }
这篇关于(一) Freemarker 简介 环境搭建的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!