Spring boot docs建议速度模板支持ResourceUrlEncodingFilter
,以使用版本控制重写静态资产url。从文档引用:
借助ResourceUrlEncodingFilter(针对Thymeleaf,Velocity和FreeMarker自动配置的ResourceUrlEncodingFilter),可以在运行时在模板中重写资源链接。
我从this blog中发现了百里香用于URL重写的语法。但是在花了几个小时的Google搜索之后,我无法找到Velocity模板语言的语法或宏。谁能指出我的资源来解释这一点。
最佳答案
这是一个错误,请参见SPR-14027。
同时,您可以定义自己的宏,如下所示:
#macro( springResourceUrl $relativeUrl )$springMacroRequestContext.getContextUrl(${relativeUrl})#end
并这样称呼它:
<script src="#springResourceUrl("/script.js")"></script>
请注意,从Spring 4.3(参见SPR-13235)开始不赞成使用Velocity支持,并且应该在Spring 5.0(参见SPR-13795)中删除它。