资料
官网 中文版
引入依赖
<dependency>
<groupId>org.freemarker</groupId>
<artifactId>freemarker</artifactId>
<version>2.3.31</version>
</dependency>
定义模板
<!DOCTYPE html>
<html lang="en" xmlns="https://freemarker.apache.org/">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<span>${username}</span>
</body>
</html>
使用
使用模板分别输出到文件和变量
import freemarker.template.Configuration;
import freemarker.template.Template;
import freemarker.template.TemplateException;
import freemarker.template.TemplateExceptionHandler;
import java.io.*;
import java.nio.Buffer;
import java.util.HashMap;
public class FreemarkerDemo {
public static void main(String[] args) throws IOException, TemplateException {
Configuration cfg = new Configuration(Configuration.VERSION_2_3_22);
cfg.setDirectoryForTemplateLoading(new File(ClassLoader.getSystemResource("template").getPath()));
cfg.setDefaultEncoding("UTF-8");
cfg.setTemplateExceptionHandler(TemplateExceptionHandler.RETHROW_HANDLER);
Template template = cfg.getTemplate("test.ftl");
HashMap<String,Object> map = new HashMap<>();
map.put("username","张三");
Writer out = new FileWriter("e:\\freemarker_test_out.html");
template.process(map,out);
out.flush();
out.close();
StringWriter reslut = new StringWriter();
template.process(map,reslut);
System.out.println(reslut.toString());
}
}
附
1. 工程结构示例
2. 执行结果示例
控制台输出 输出到文件
3. 示例源码
https://gitee.com/master336/template-engine-demo
|