1、maven项目引入freemark相关jar包
freemaker是以个模板引擎,可以根据提供的数据和创建好的模板,去自动的创建html静态页面。所以在返回html视图时可以用这个引擎结合数据生成html静态页面。
org.springframework
spring-context-support
5.0.7.RELEASE
org.freemarker
freemarker
2.3.28
注意freemarker版本,如果版本过低的话可能会有java.lang.NoSuchMethodError: freemarker.template.Configuration.(Lfreemarker/template/Version;)这样的报错
2、freemarker.properties
在src/main/resources下新建freemarker.properties配置文件,主要为了解决freemarker返回HTML页面中文乱码问题
tag_syntax=auto_detect
template_update_delay=60
default_encoding=UTF-8
output_encoding=UTF-8
locale=zh_CN
date_format=yyyy-MM-dd
time_format=HH:mm:ss
datetime_format=yyyy-MM-dd HH:mm:ss
classic_compatible=true
template_exception_handler=ignore
3、配置视图解析器
在springmvc.xml中配置jsp、html的视图解析器。注意一点是,InternalResourceViewResolver必须总是赋予最低的优先级(最大的order值),因为不管返回什么视图名称,它都将解析视图。如果它的优先级高于其它解析器的优先级的话,它将使得其它具有较低优先级的解析器没有机会解析视图。
class="org.springframework.beans.factory.config.PropertiesFactoryBean">
class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer">
/WEB-INF/html/
class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver">