velocity的学习记录之配置

来源:互联网 发布:武汉专业淘宝摄影 编辑:程序博客网 时间:2024/06/01 09:25

一、首先是jar包的下载

maven项目的pom.xml配置

<dependency><groupId>org.apache.velocity</groupId><artifactId>velocity</artifactId><version>1.7</version></dependency><dependency><groupId>org.apache.velocity</groupId><artifactId>velocity-tools</artifactId><version>2.0</version></dependency>
不是maven项目的可自己下载jar包

二、spring-mvc.xml

    <!-- 配置velocity引擎 -->      <bean id="velocityConfigurer" class="org.springframework.web.servlet.view.velocity.VelocityConfigurer">          <!-- 页面存放的路径 -->        <property name="resourceLoaderPath" value="/WEB-INF/views/" />        <property name="velocityProperties">          <props>            <prop key="contentType">text/html;charset=UTF-8</prop>            <prop key="input.encoding">UTF-8</prop>            <prop key="output.encoding">UTF-8</prop>          </props>        </property>    </bean>      <!-- 配置视图的显示 -->      <bean id="velocityViewResolver" class="org.springframework.web.servlet.view.velocity.VelocityLayoutViewResolver">          <property name="prefix" value="" /><!-- 视图文件的前缀,即存放的路径(相对于configurer的路径) -->        <property name="suffix" value=".html" /><!-- 视图文件的后缀名 -->        <property name="toolboxConfigLocation" value="/WEB-INF/toolbox.xml" /><!-- toolbox配置文件路径 -->        <property name="dateToolAttribute" value="date" /><!-- 日期函数名称 -->        <property name="numberToolAttribute" value="number" /><!-- 数字函数名称 -->        <property name="contentType" value="text/html;charset=UTF-8" />        <property name="exposeSpringMacroHelpers" value="true" /><!-- 是否使用spring对宏定义的支持 -->        <property name="exposeRequestAttributes" value="true" /><!-- 是否开放request属性 -->        <property name="requestContextAttribute" value="rc"/><!-- request属性引用名称 -->        <property name="layoutUrl" value="layout/default.vm"/><!-- 指定layout文件(装饰页面) -->        <property name="order" value="0"></property>    </bean>

三、总结

其中配置视图引用的class文件一般有两种VelocityLayoutViewResolver和VelocityViewResolver,两者的区别是前者可利用layout做模板统一修饰,知道sitemesh的就更熟悉了,后者反之,不过我看源码发现后者好像已被启用。

在配置过程中发现最基本的两点:

1、velocityConfigurer中配置的存放路径是要访问的路径,即controller返回的页面,且路径是相对于webRoot的;

2、velocityViewResolver中的文件路径都是基于1中的,所以一般不需要前缀。


最后需要感谢博主“我意纵横”点击打开链接,让我学到很多。

原创粉丝点击