freemarker 是一个模板引擎,用于生成网页,代码,配置文件等。
其思想是: 模板 + 数据 = 输出。
模板: 使用freemarker 模板语言编写。
数据: 任意数据(一般组织成Key-Value形式)
Demo,创建一个java工程,添加freemarker.jar 到libs目录。
编写模板(放到工程目录)hello_html.ftl (文件名随意):
<html>
<h1>hello ${name} , this is my first auto generated html page !</h1>
</html>
public class Main {
public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub
Configuration config = new Configuration();
String dir = System.getProperty("user.dir");
config.setDirectoryForTemplateLoading(new File(dir));
Map<String,String> data = new HashMap<>();
data.put("name", "bao yu shuang");
Template tmplate = config.getTemplate("hello_html.ftl");
Writer writer = new OutputStreamWriter(new FileOutputStream("hellohtml.html"), "UTF-8");
tmplate.process(data, writer);
writer.close();
}
}
运行后生成的内容:
<html>
<h1>hello bao yu shuang , this is my first auto generated html page !</h1>
</html>
freemarker ftl 语法