FreeMarker实例
- 格式:pdf
- 大小:36.64 KB
- 文档页数:1
FreeMarker实例
1.jar包:freemarker-2.3.19.jar,将jar拷贝到lib⽬录下;
2.新建Web项⽬:TestFreeMarker
在web⽬录下新建ftl⽂件夹;
在ftl下新建模版⽂件ftl03.ftl
<#ftl attributes={"content_type":"text/html; charset=UTF-8"}>
${hello},cfg.setDirectoryForTemplateLoading(new File("/ftl"));测试
3.Java测试类FreeMarkerDemo:
package com.freemarker.test;
import java.io.File;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.util.HashMap;
import java.util.Map;
import freemarker.template.Configuration;
import freemarker.template.Template;
public class FreeMarkerDemo {
public static void main(String[] args) {
try {
// 通过Freemaker的Configuration读取相应的ftl
Configuration cfg = new Configuration();
// 设定去哪⾥读取相应的ftl模板⽂件
cfg.setDirectoryForTemplateLoading(new File("D:/workspace/TestFreeMarker/WebContent/ftl"));
// 在模板⽂件⽬录中找到名称为name的模板⽂件
Template template = cfg.getTemplate("ftl03.ftl");
Map
root.put("hello", "Hello FreeMarker!");
root.put("files", "li");
//以字符串形式在控制台输出
StringWriter stringWriter = new StringWriter();
template.process(root, stringWriter);
String resultStr = stringWriter.toString();
System.out.println(resultStr);
//以⽂件形式输出到指定⽂件
PrintWriter pt = new PrintWriter(new File("D:/pt.txt"));
template.process(root, pt);
} catch (Exception e) {
e.printStackTrace();
}
}
}
控制台输出结果resultStr:
Hello FreeMarker!,cfg.setDirectoryForTemplateLoading(new File("/ftl"));测试
同时在D盘⽣成pt.txt⽂件,内容与resultStr相同。