我的 SpringMVC/Thymeleaf 应用程序遇到问题,当我发布包含对静态资源(图像、CSS 文件、JavaScript 库)更改的更新时,用户会遇到错误。出现问题是因为他们的浏览器缓存中有旧版本的资源,所以如果他们进行强制刷新,问题就会消失,但大多数用户不知道这样做。
过去,我在其他框架中解决了这个问题,方法是让我的构建将构建号注入 Spring bean 并自定义 URL 构建机制以在 URL 中包含构建号。将此与将 Cache-Control 响应标头设置为这些资源的遥远日期相结合可确保只要用户在其浏览器缓存中拥有该资源,除非我发布新版本,否则永远不会重新获取它。
Spring MVC/Thymeleaf 是否有解决此问题的内置方法?如果没有,我如何覆盖 Thymeleaf 中的 URL 写入机制,以便我可以添加我上面描述的行为?