SpringMVC + Maven + Freemarker搭建(二)

Freemarker引入

Freemarker的優劣在此不做討論,有很多實際的項目中在應用。(貌似最近又有什么beetl模板,據說性能高些,不甚了解)。

pom配置

<freemarker.version>2.3.23</freemarker.version>

視圖解析

通過視圖解析,可以配置spring mvc的視圖解析freemarker模板。

配置視圖解析bean

在springmvc.xml

<!-- FreeMarkerConfigurer -->
<bean id="freemarkerConfig" 
class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer">    
<property name="templateLoaderPath">    
    <value>/WEB-INF/ftl/</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>

<bean id="freemarkerResolver" 
class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver">    
    <property name="order" value="1" />    
    <property name="suffix" value=".ftl" />    
    <property name="contentType" value="text/html;charset=utf-8" />    
    <property name="viewClass">          
    <value>org.springframework.web.servlet.view.freemarker.FreeMarkerView
    </value>    
     </property>
</bean>

引入配置文件

當然,如果需要進行配置信息提取到文件中,再在配置文件中引入,在springmvc.xml中進行如下配置

<!-- 掃描的配置文件 -->
<context:property-placeholder location="classpath*:conf/*.properties"  
ignore-unresolvable="true" order="0" file-encoding="UTF-8" />

測試

編寫Freemarker文件

在WEN-INF/ftl下編寫文件
index.ftl

<!DOCTYPE html>
<html>    
  <head>        
    <title>${title}</title>    
  </head>    
  <body>    
    ${title}
  </body>
</html>

編寫控制器

@Controller("/")
public class IndexController {    
@RequestMapping("index.html")    
  public String index(ModelMap modelMap){
        modelMap.put("title","名稱");        
        return "index";    
  }
}

瀏覽器測試

http://localhost:8080/springmvc/
頁面結果

最終結果

tips:
部署的時候,發現Freemarker的jar包始終找不到,觀察在輸入路徑下也沒有對應的jar。

配置

將對應的jar加入到輸出路徑接口。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Spring Boot 參考指南 介紹 轉載自:https://www.gitbook.com/book/qbgb...
    毛宇鵬閱讀 46,970評論 6 342
  • Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智...
    卡卡羅2017閱讀 134,981評論 19 139
  • 前言:學習SpringBoot不應該直接就是開始使用SpringBoot,如果直接拿來用肯定會有很多人不是很明白特...
    CoderZS閱讀 74,856評論 10 217
  • 摘要 眾所周知,隨著網站的訪問量增加,如何給用戶以良好的訪問體驗就顯得尤為重要。如何提高并發數便成為一個難題,像h...
    LiuXiaobing閱讀 10,141評論 3 20
  • 什么時候能見到我們的朋友克羅伊茨卡姆和聽寫本?怎樣解救我們的朋友? 和我們三(3)班的同學們一起找答案吧! 靜坐儀...
    愛閱三班閱讀 453評論 0 0