Springboot Freemarker配置

1、引入FreeMarker启动器

<dependency>
	<groupId>org.springframework.bootgroupId>
	<artifactId>spring-boot-starter-freemarkerartifactId>
dependency>

2、在application.properties配置FreeMarker

#URL转码字符集
spring.freemarker.settings.urlEscapingCharset=UTF-8
#模板缓存时间
spring.freemarker.settings.templateUpdateDelay=5
#自动检测标签语法
spring.freemarker.settings.tagSyntax=autoDetect
#清除多余空白
spring.freemarker.settings.whitespaceStripping=true
#解决前台使用${}赋值值为空的情况
spring.freemarker.settings.classicCompatible=true
#数字格式
spring.freemarker.settings.numberFormat=0.######
#布尔格式
spring.freemarker.settings.booleanFormat=true,false
#日期时间格式
spring.freemarker.settings.datetimeFormat=yyyy-MM-dd HH:mm:ss
#日期格式
spring.freemarker.settings.dateFormat=yyyy-MM-dd
#时间格式
spring.freemarker.settings.timeFormat=HH:mm:ss
#启用内置API
spring.freemarker.settings.apiBuiltinEnabled=true
#对象包装器
spring.freemarker.settings.objectWrapper=DefaultObjectWrapper(2.3.28)
#模板异常处理器
spring.freemarker.settings.templateExceptionHandler=htmlDebug

3、配置全局变量

import freemarker.template.TemplateModelException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Configuration;

import javax.annotation.PostConstruct;
import javax.servlet.ServletContext;

@Configuration
public class FreeMarkerVariableConfiguration {

    @Autowired
    private ServletContext servletContext;
    @Autowired
    private freemarker.template.Configuration configuration;

    @PostConstruct
    public void setVariableConfiguration() throws TemplateModelException {
        configuration.setSharedVariable("base", servletContext.getContextPath());
    }
}

注意:自己定义的这个配置类不要和FreeMarker自定义的一些类(FreeMarkerConfigurer等)或者FreeMarkerConfiguration重名,否则spring boot启动会报错。

你可能感兴趣的:(Spring,Boot,FreeMarker)