1. 加入 freemarker 的 jar 吧包
<!-- freemarker start -->
<dependency>
<groupId>org.freemarker</groupId>
<artifactId>freemarker</artifactId>
<version>2.3.19</version>
</dependency>
<!-- freemarker end-->
2. 配置 freemarker
<!-- freeMarker配置 --> <bean id="freemarkerConfig" class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer"> <!-- 与springmvc中的prefix共同构成模板前缀(即模板路径,与controller中的返回结果共同定位模板文件),是string[],可以配置多个 --> <!-- <property name="templateLoaderPath" value="/ftl/" /> --> <property name="templateLoaderPath" value="" /> <property name="defaultEncoding" value="UTF-8" /> <property name="freemarkerSettings"> <props> <prop key="tag_syntax">auto_detect</prop> <prop key="template_update_delay">5</prop> <prop key="defaultEncoding">UTF-8</prop> <prop key="url_escaping_charset">UTF-8</prop> <prop key="locale">zh_CN</prop> <prop key="boolean_format">true,false</prop> <prop key="datetime_format">yyyy-MM-dd HH:mm:ss</prop> <prop key="date_format">yyyy-MM-dd</prop> <prop key="time_format">HH:mm:ss</prop> <prop key="number_format">0.######</prop> <prop key="whitespace_stripping">true</prop> <!--空值处理<prop key="classic_compatible">true</prop>--> <!-- <prop key="auto_import">/ftl/tags/index.ftl as p,/ftl/spring.ftl as s</prop>--> </props> </property>
<!-- freemarker 视图解析器 --> <bean class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver"> <property name="cache" value="false" /> <property name="prefix" value="/WEB-INF/ftl/"></property> <property name="suffix" value=".ftl"></property> <property name="viewClass" value="org.springframework.web.servlet.view.freemarker.FreeMarkerView" /> <property name="contentType" value="text/html;charset=UTF-8"></property> <property name="exposeRequestAttributes" value="true" /> <property name="exposeSessionAttributes" value="true" /> <property name="exposeSpringMacroHelpers" value="true" /> <property name="requestContextAttribute" value="base"></property> <property name="order" value="1"></property> </bean>
controller 方法
<span style="font-family: Arial, Helvetica, sans-serif;"> @RequestMapping("/testFreemarker")</span>
public ModelAndView testFreeMarker(){ ModelAndView mv = new ModelAndView(); mv.setViewName("testFreeMarker"); mv.addObject("name", "this is testFreemarker"); return mv; }ftl模板
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Insert title here</title> </head> <body> Hello ${name} </body> </html>