freemarker怎么用
时间: 2023-07-03 09:03:32 浏览: 46
Freemarker 是一种模板引擎,它可以将数据模型和模板文件结合起来,生成最终的文本输出。下面是一个简单的 Freemarker 示例:
1. 在项目中引入 Freemarker 相关的 jar 包。
2. 创建一个数据模型,通常是一个 JavaBean,例如:
```java
public class User {
private String name;
private int age;
// 省略 getter 和 setter 方法
}
```
3. 创建一个 Freemarker 模板文件,例如:
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>${user.name}的个人信息</title>
</head>
<body>
<h1>${user.name}的个人信息</h1>
<p>姓名:${user.name}</p>
<p>年龄:${user.age}</p>
</body>
</html>
```
4. 在 Java 代码中加载模板文件并渲染数据模型,例如:
```java
public class FreemarkerDemo {
public static void main(String[] args) throws Exception {
// 创建一个 Configuration 对象
Configuration cfg = new Configuration(Configuration.VERSION_2_3_31);
// 设置模板文件所在的目录
cfg.setDirectoryForTemplateLoading(new File("templates"));
// 加载模板文件
Template template = cfg.getTemplate("user.ftl");
// 创建数据模型
User user = new User();
user.setName("张三");
user.setAge(18);
// 创建一个 Writer 对象,用于输出最终的文本
Writer out = new OutputStreamWriter(System.out);
// 渲染模板文件
template.process(Map.of("user", user), out);
out.flush();
}
}
```
上述代码中,`Configuration` 对象用于配置 Freemarker 的一些参数,例如模板文件所在的目录。`Template` 对象表示一个模板文件,可以通过 `process()` 方法渲染数据模型。`Map.of("user", user)` 表示将数据模型放入一个 Map 中,其中键名为 `user`,键值为 `User` 对象。`Writer` 对象用于输出最终的文本。
最终输出的文本如下:
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>张三的个人信息</title>
</head>
<body>
<h1>张三的个人信息</h1>
<p>姓名:张三</p>
<p>年龄:18</p>
</body>
</html>
```