1. 程式人生 > >SSM整合Freemarker並在html檔案中使用freemarker標籤

SSM整合Freemarker並在html檔案中使用freemarker標籤

FreeMarker是一個用Java語言編寫的模板引擎。它基於模板來生成文字輸出。Freemarker與web容器無關,即在web執行時,它並不知道servlet或者HTTP,它不僅可以用作表現層的實現技術,而且還可以用於生成XML,JSP或Java等。目前在企業中,主要用freemarker做靜態頁面或是頁面展示。

其實在我的理解freemarker就是一種工具,它能把jsp頁面轉換成靜態頁面,為使用者的訪問節省時間,同樣減少伺服器的壓力。

 

在Maven中匯入依賴包:

 <!--新增freemarker依賴-->
      <dependency
> <groupId>org.freemarker</groupId> <artifactId>freemarker</artifactId> <version>2.3.23</version> </dependency>

新建一個spring-Freemarker.xml   檔名可以自取,最後要在web.xml中將它引用進去

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd"> <!-- FreeMarker檢視解析器 --> <bean
id="freemarkerResolver" class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver"> <property name="order" value="0" /> <!--將其設定為0 將優先使用該檢視解析器--> <property name="suffix" value=".html" /> <property name="contentType" value="text/html;charset=utf-8" /> <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"> <!--這個配置其實相當於springmvc的字首配置 如:<property name="prefix" value="/WEB-INF/html/" /> 相當於配置好/WEB-INF/html/作為字首,這個資料夾下面的html都可以使用freemarker的語法--> <value>/WEB-INF/html/</value> </property> <property name="freemarkerSettings"><!-- 設定FreeMarker環境屬性 --> <props> <prop key="template_update_delay">3</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="fmXmlEscape" class="freemarker.template.utility.XmlEscape" /> </beans>

通過以上的簡單配置,即可在WEB-INF/html/下的html檔案直接使用freemarker標籤。