【问题标题】:How to use Spring ResourceUrlEncodingFilter with velocity template如何将 Spring ResourceUrlEncodingFilter 与速度模板一起使用
【发布时间】:2016-03-07 13:02:34
【问题描述】:
Spring boot docs 建议速度模板支持ResourceUrlEncodingFilter 使用版本控制重写静态资产 url。引用文档:
资源链接在运行时在模板中重写,这要归功于 ResourceUrlEncodingFilter,自动配置为 Thymeleaf、Velocity 和 FreeMarker。
我从this blog 发现了 thymeleaf 用于 url 重写的语法。但是在谷歌搜索了几个小时后,我找不到 Velocity 模板语言的语法或宏。谁能给我指出一个解释这一点的资源。
【问题讨论】:
标签:
java
spring
spring-mvc
velocity
【解决方案1】:
这是一个错误,请参阅SPR-14027。
同时,您可以像这样定义自己的宏:
#macro( springResourceUrl $relativeUrl )$springMacroRequestContext.getContextUrl(${relativeUrl})#end
然后这样称呼它:
<script src="#springResourceUrl("/script.js")"></script>
请注意,Velocity 支持自 Spring 4.3 起已弃用(参见 SPR-13235),应在 Spring 5.0 中删除(参见 SPR-13795)。