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標簽。