freemarker如何动态生成html
时间: 2023-10-13 07:06:31 浏览: 41
FreeMarker是一种模板引擎,可以通过数据模型动态生成HTML页面。以下是在FreeMarker中动态生成HTML的一些基本步骤:
1. 首先,需要创建一个FreeMarker模板文件,该文件将包含HTML标记以及从数据模型中获取的数据。例如,以下是一个简单的FreeMarker模板示例:
```
<html>
<head>
<title>${title}</title>
</head>
<body>
<h1>${heading}</h1>
<p>${content}</p>
</body>
</html>
```
2. 接下来,需要创建一个数据模型,该模型将包含要在模板中使用的数据。例如,以下是一个简单的Java数据模型示例:
```
Map<String, Object> data = new HashMap<String, Object>();
data.put("title", "My Page Title");
data.put("heading", "Welcome to my page");
data.put("content", "This is the content of my page.");
```
3. 然后,需要将模板文件和数据模型组合在一起,以生成HTML输出。可以使用FreeMarker模板引擎来完成此操作。例如,以下是一个简单的Java代码示例:
```
Configuration cfg = new Configuration(Configuration.VERSION_2_3_28);
cfg.setClassForTemplateLoading(MyClass.class, "/templates");
Template template = cfg.getTemplate("my_template.ftl");
Writer out = new OutputStreamWriter(System.out);
template.process(data, out);
out.flush();
```
这些代码做的事情是:
- 创建一个FreeMarker配置实例。
- 指定模板文件的位置。
- 获取模板文件。
- 创建一个输出流来写出生成的HTML。
- 将数据模型传递给模板,并将结果写入输出流中。
4. 最后,生成的HTML将会被写入输出流中,可以将其发送到浏览器或保存到文件中。
以上是在FreeMarker中动态生成HTML的一些基本步骤。您可以根据需要进行调整和修改,以满足您的具体需求。
阅读全文