1. 程式人生 > >SpringMVC整合Freemarker的詳細配置步驟

SpringMVC整合Freemarker的詳細配置步驟

FreeMarker是一個用Java語言編寫的模板引擎,它基於模板來生成文字輸出。FreeMarker與Web容器無關,即在Web執行時,它並不知道Servlet或HTTP。它不僅可以用作表現層的實現技術,而且還可以用於生成XML,JSP或Java 等。

FreeMarker是一個java包。實現了MVC模式,分離開發者和設計師。也就是分離html也java的程式碼。

FreeMarker是如何運作的。首先需要有一個template模板,在那裡就是一堆的html標籤和一些專屬FreeMarker的標籤,這些標籤之後會被具體的資料代替。這些資料就是有左下的Java objects提供。<FreeMarker>

就是工程中的Jar包。他把這些模板和Java objects的資料加工組合之後輸出html頁面。所以,FreeMarker的功能,就如官網中一直強調的,不是別的而是一個模板引擎。 --

<!-- 配置freeMarker模板載入地址 -->
<bean class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer">
<!-- 檢視解析器會在/WEB-INF/ftl/路徑下掃描檢視檔案 -->
		<property name="templateLoaderPaths">
			<list>
				<value>/WEB-INF/ftl</value>
				<value>classpath:/ftl</value>
			</list>
		</property>
		<property name="preferFileSystemAccess" value="false" />
		<property name="freemarkerSettings">
			<props>
				<prop key="defaultEncoding">UTF-8</prop>
				<prop key="url_escaping_charset">UTF-8</prop>
				<prop key="locale">zh_CN</prop>
			</props>
		</property>
	</bean>
<!-- 配置freeMarker檢視解析器 -->
	<bean class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver">
		<property name="cache" value="true" />
		<property name="suffix" value=".ftl" />
		<property name="contentType" value="text/html; charset=UTF-8" />
		<property name="requestContextAttribute" value="rc"></property>
</bean>