freemarker 配置
时间: 2023-10-24 16:18:12 浏览: 150
要使用Freemarker,您需要进行以下配置步骤:
1. 添加Freemarker依赖:在您的项目中添加以下依赖:
```
<dependency>
<groupId>org.freemarker</groupId>
<artifactId>freemarker</artifactId>
<version>2.3.31</version>
</dependency>
```
2. 配置Freemarker:您需要在您的应用程序中指定Freemarker模板的位置。您可以在Spring Boot应用程序中使用以下方式进行配置:
```
@Configuration
public class FreemarkerConfig {
@Autowired
private ApplicationContext applicationContext;
@Bean
public FreeMarkerConfigurer freeMarkerConfigurer() throws IOException {
FreeMarkerConfigurer configurer = new FreeMarkerConfigurer();
configurer.setTemplateLoaderPaths("classpath:/templates/");
configurer.setPreferFileSystemAccess(false);
configurer.setDefaultEncoding("UTF-8");
configurer.setFreemarkerSettings(new Properties() {{
setProperty("template_update_delay", "0");
setProperty("default_encoding", "UTF-8");
setProperty("locale", "zh_CN");
}});
configurer.afterPropertiesSet();
return configurer;
}
@Bean
public FreeMarkerViewResolver freeMarkerViewResolver() {
FreeMarkerViewResolver resolver = new FreeMarkerViewResolver();
resolver.setPrefix("");
resolver.setSuffix(".ftl");
resolver.setContentType("text/html; charset=UTF-8");
resolver.setRequestContextAttribute("request");
resolver.setExposeSpringMacroHelpers(true);
resolver.setExposeRequestAttributes(true);
resolver.setExposeSessionAttributes(true);
return resolver;
}
}
```
在这个例子中,我们将模板文件放在`classpath:/templates/`目录下,并指定了模板文件的后缀为`.ftl`。我们还指定了默认编码为UTF-8,将Freemarker的一些设置进行了配置。
3. 创建模板:您需要创建一个Freemarker模板文件,例如,命名为`hello.ftl`,在其中编写您的模板代码。
4. 渲染模板:在您的代码中,您可以使用以下方式来渲染模板:
```
@Autowired
private FreeMarkerConfigurer freeMarkerConfigurer;
public String renderTemplate(Map<String, Object> model) throws Exception {
Template template = freeMarkerConfigurer.getConfiguration().getTemplate("hello.ftl");
StringWriter writer = new StringWriter();
template.process(model, writer);
return writer.toString();
}
```
在这个例子中,我们首先获取到`hello.ftl`模板文件,然后将`model`参数传递给该模板文件进行渲染,最后将渲染结果转换为字符串并返回。
阅读全文