<dependency> <groupId>org.freemarker</groupId> <artifactId>freemarker</artifactId> <version>2.3.23</version> </dependency>
模板文件中四种元素html
一、文本,直接输出的部分
二、注释,即<#--...-->格式不会输出
三、插值(Interpolation):即${..}部分,将使用数据模型中的部分替代输出
四、FTL指令:FreeMarker指令,和HTML标记相似,名字前加#予以区分,不会输出。spa
咱们如今就建立一个简单的建立模板文件test.ftlcode
<html>
<head>
<meta charset="utf-8">
<title>Freemarker入门小DEMO </title>
</head>
<body>
<#--我只是一个注释,我不会有任何输出 -->
${name},你好。${message}
张三 你好.
</body>
</html>
这里有文本、插值和注释htm
使用步骤:对象
第一步:建立一个 Configuration 对象,直接 new 一个对象。构造方法的参数就是 freemarker的版本号。blog
第二步:设置模板文件所在的路径。utf-8
第三步:设置模板文件使用的字符集。通常就是 utf-8.get
第四步:加载一个模板,建立一个模板对象。it
第五步:建立一个模板使用的数据集,能够是 pojo 也能够是 map。通常是 Map。io
第六步:建立一个 Writer 对象,通常建立一 FileWriter 对象,指定生成的文件名。
第七步:调用模板对象的 process 方法输出文件。
第八步:关闭流
代码:
建立Test类 main方法以下:
//1.建立配置类
Configuration configuration=new Configuration(Configuration.getVersion()); //2.设置模板所在的目录 configuration.setDirectoryForTemplateLoading(new File("D:/pinyougou_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", "欢迎来到神奇的品优购世界!"); //6.建立Writer对象 Writer out =new FileWriter(new File("d:\\test.html")); Idea Writer out =new PrintWriter(new File("d:\\test.html"),”UTF-8”); //7.输出 template.process(map, out); //8.关闭Writer对象 out.close();
执行后,在D盘根目录便可看到生成的test.html ,打开看看