FreeMarker 用法
时间: 2024-04-01 21:36:04 浏览: 29
FreeMarker是一种模板引擎,它可以帮助开发者将数据和模板进行关联,生成最终的文本输出。下面是FreeMarker的用法:
1. 安装FreeMarker
可以通过Maven或手动下载的方式安装FreeMarker。
2. 准备数据模型
在使用FreeMarker前,需要将数据模型准备好。数据模型可以是Java对象、Map、List等。例如,我们可以创建一个Java对象,包含name和age属性:
```
public class Person {
private String name;
private int age;
// getter and setter methods
}
```
然后创建一个Person对象:
```
Person person = new Person();
person.setName("John");
person.setAge(25);
```
3. 准备模板
使用FreeMarker需要准备一个模板文件,模板文件中包含了需要填充数据的占位符。
例如,我们可以创建一个模板文件,包含${name}和${age}占位符:
```
Name: ${name}
Age: ${age}
```
4. 填充数据
在填充数据前,需要将数据模型和模板进行关联。
```
Configuration cfg = new Configuration(Configuration.VERSION_2_3_28);
cfg.setClassForTemplateLoading(getClass(), "/templates");
Template template = cfg.getTemplate("person.ftl");
```
其中,templates是模板文件所在的目录,person.ftl是模板文件的名称。
然后将数据模型和模板进行关联:
```
Map<String, Object> data = new HashMap<>();
data.put("person", person);
Writer out = new OutputStreamWriter(System.out);
template.process(data, out);
out.flush();
```
其中,data是一个Map对象,包含了需要填充到模板中的数据。在模板中使用${person.name}和${person.age}可以获取到数据模型中的name和age属性。
5. 输出结果
最后,将填充好数据的模板输出到控制台或文件中:
```
Name: John
Age: 25
```