在springmvc框架已經搭好的前提下,導入freemarker.jar,此處版本是2.3.
主要的配置工作都在spring-servlet.xml中,請看代碼:
<!--配置試圖解析器 --> <bean class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver"> <property name="order" value="1"></property> <property name="suffix" value=".ftl"></property> <property name="contentType" value="text/html;charset=utf-8"></property> <property name="viewClass"> <value>org.springframework.web.servlet.view.freemarker.FreeMarkerView</value> </property> </bean> <!--加載freemarker屬性 --> <bean id="propertySetting" class="org.springframework.beans.factory.config.PropertiesFactoryBean"> <property name="locations"> <list> <value>classpath:configFile/freemarker.properties</value> </list> </property> </bean> <!--freemarker配置 --> <bean id="freemarkerConfig" class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer"> <property name="templateLoaderPath"> <value>/WEB-INF/template/</value> </property> <property name="freemarkerSettings" ref="propertySetting"><!-- 設置FreeMarker環境屬性 --> </property> </bean>
在configFile下新建freemarker.propertie文件,內容如下:
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 number_format=\#
然后在/WEB-INF/template/下就可以建立ftl文件了(test.ftl),代碼如下:
<html> <head> <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/> <title>fremaker測試</title> </head> <body> 你好,${username} </body> </html>
在controller層返回字符串"test",freemarker就會自動解析成/WEB-INF/template/test.ftl,結果如圖
另外,也可以在spring-servlet.xml內部直接設置相關參數,這樣就不必引入外部freemarker.properties.
如下: <!--配置試圖解析器 -->
<bean class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver"> <property name="order" value="1"></property> <property name="suffix" value=".ftl"></property> <property name="contentType" value="text/html;charset=utf-8"></property> <property name="viewClass"> <value>org.springframework.web.servlet.view.freemarker.FreeMarkerView</value> </property> </bean> <!--freemarker配置 --> <bean id="freemarkerConfig" class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer"> <property name="templateLoaderPath"> <value>/WEB-INF/template/</value> </property> <property name="freemarkerSettings"><!-- 設置FreeMarker環境屬性 --> <props> <prop key="template_update_delay">5</prop><!--刷新模板的周期,單位為秒 --> <prop key="default_encoding">UTF-8</prop><!--模板的編碼格式 --> <prop key="locale">UTF-8</prop><!--本地化設置 --> <prop key="datetime_format">yyyy-MM-dd HH:mm:ss</prop> <prop key="time_format">HH:mm:ss</prop> <prop key="number_format">0.####</prop> <prop key="boolean_format">true,false</prop> <prop key="whitespace_stripping">true</prop> <prop key="tag_syntax">auto_detect</prop> <prop key="url_escaping_charset">UTF-8</prop> </props> </property> </bean>