首页 > 代码库 > springmvc中freemarker的搭建

springmvc中freemarker的搭建

在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=60default_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\:ssnumber_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>

 

springmvc中freemarker的搭建