使用Spring mvc3.0 的时候,希望在velocity模板页面格式化输出时间,于是想到velocity可以配置一些工具(tools)在VM中使用,但是却不知道怎么在 spring mvc 中配置,差了些资料,看了些代码,测试成功,写出来给自己留个底,也给大家参考。
只需要在应用的servlet配置文件中(XXX-servlet.xml )的viewResolver bean添加属性如下:
- <!-- view resolver -->
- < 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 >
这样就可以在页面上如下使用:
- $dateTool.format( "yyyy-MM-dd" ,$!{demand.gmtCreate})
另外,也可以定义一些在页面上公用的变量,如上面xml中的demandsServerUrl 和htdocsBaseUrl 。