SpringMVC之Web-整合freemarker模板+设置全局变量(六)

来源:互联网 发布:霍尼韦尔236编程 编辑:程序博客网 时间:2024/06/07 00:35

关于freemarker模板:

FreeMarker是一款模板引擎: 即一种基于模板和要改变的数据, 并用来生成输出文本(HTML网页、电子邮件、配置文件、源代码等)的通用工具。 它不是面向最终用户的,而是一个Java类库,是一款程序员可以嵌入他们所开发产品的组件。
FreeMarker是免费的,基于Apache许可证2.0版本发布。其模板编写为FreeMarker Template Language(FTL),属于简单、专用的语言。需要准备数据在真实编程语言中来显示,比如数据库查询和业务运算, 之后模板显示已经准备好的数据。在模板中,主要用于如何展现数据, 而在模板之外注意于要展示什么数据


1.freemarker模板所需要的依赖:

<properties>           <!-- freemarker版本号 -->        <freemarker.version>2.3.23</freemarker.version>     </properties>

<dependencies>          <!-- freemarker依赖 -->        <dependency>        <groupId>org.freemarker</groupId>         <artifactId>freemarker</artifactId>         <version>${freemarker.version}</version>        </dependency>                          </dependencies>

2.spring-mvc.xml加入如下配置:

<!-- 定义受环境影响易变的变量 --><bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"><property name="systemPropertiesModeName" value="SYSTEM_PROPERTIES_MODE_OVERRIDE" /><property name="ignoreResourceNotFound" value="true" /><property name="locations"><list><!-- 标准配置 --><value>classpath*:pro/config.properties</value><!-- 本地开发环境配置 -->  <!-- <value>file:/d:/i9he/config/*.properties</value>  --></list></property></bean>        <!-- Freemarker配置   --><bean id="freemarkerConfig"class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer"><!-- 视图资源位置 --><property name="templateLoaderPath" value="/WEB-INF/ftl/" /><property name="defaultEncoding" value="UTF-8" /><property name="freemarkerSettings"><props><prop key="template_update_delay">0</prop><!-- 模板更新延时 --><prop key="locale">zh_CN</prop><prop key="default_encoding">UTF-8</prop><prop key="output_encoding">UTF-8</prop><prop key="template_exception_handler">rethrow</prop>        <prop key="number_format">#.##</prop>        <prop key="date_format">yyyy-MM-dd</prop>        <prop key="time_format">HH:mm:ss</prop>        <prop key="datetime_format">yyyy-MM-dd HH:mm:ss</prop></props></property><!-- 全局变量部分 --><property name="freemarkerVariables"><map><entry key="BasePath" value="${web.basepath}" /><entry key="IncPath" value="${inc.basepath}" /><entry key="xml_escape" value-ref="fmXmlEscape" /></map></property></bean><bean id="fmXmlEscape" class="freemarker.template.utility.XmlEscape" /><!-- 配置freeMarker视图解析器 --><bean id="ftlviewResolver" class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver"><!-- 如果配置了这个节点,则视图必须是ftl,redirect等前缀都失效了 --><!-- <property name="viewNames" value="*.ftl"/> --><property name="contentType" value="text/html;charset=UTF-8" /><property name="cache" value="true" /><property name="prefix" value="" /><property name="suffix" value="" /></bean>

其中1:<value>classpath*:pro/config.properties</value>用于引入全局变量配置,config.properties配置如下:

#jdbc-configdriver=com.mysql.jdbc.Driverurl=jdbc:mysql://127.0.0.1:3306/jiuheusername=rootpassword=1234#default server address-设置常用变量global.server.address=127.0.0.1#web-path-访问本地路径web.basepath=http://${global.server.address}:8888/Z-SpringWeb3#inc-path-引入第三方静态资源inc.basepath=http://${global.server.address}:9527/privilege_inc

2.<entry key="BasePath" value="${web.basepath}" />
   <entry key="IncPath" value="${inc.basepath}" />用于定义设置config.properties文件里面定义的参数


3.测试:



4.结果:



模板使用和设置全局变量都测试成功。




原创粉丝点击