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>