使用Spring mvc3.0 的时候,希望在velocity模板页面格式化输出时间,于是想到velocity可以配置一些工具(tools)在VM中使用,但是却不知道怎么在spring mvc 中配置,差了些资料,看了些代码,测试成功,写出来给自己留个底,也给大家参考。
只需要在应用的servlet配置文件中(XXX-servlet.xml )的viewResolver bean添加属性如下:
·········10········20········30········40········50········60········70········80········90········100·······110·······120·······130·······140·······150
-
- <bean id="viewResolver"
- class="org.springframework.web.servlet.view.velocity.VelocityViewResolver">
- <property name="prefix" value="" />
- <property name="suffix" value=".vm" />
- <property name="contentType" value="text/html;charset=UTF-8" />
- <property name="exposeRequestAttributes" value="true" />
- <property name="exposeSpringMacroHelpers" value="true" />
- <property name="dateToolAttribute">
- <value>dateTool</value>
- </property>
- <property name="attributes">
- <props>
- <prop key="demandsServerUrl">${demands.web.server.url}</prop>
- <prop key="htdocsBaseUrl">${demands.web.htdocs.baseUrl}</prop>
- </props>
- </property>
- </bean>
这样就可以在页面上如下使用:
·········10········20········30········40········50········60········70········80········90········100·······110·······120·······130·······140·······150
- $dateTool.format("yyyy-MM-dd",$!{demand.gmtCreate})
另外,也可以定义一些在页面上公用的变量,如上面xml中的demandsServerUrl 和htdocsBaseUrl 。