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=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>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM