Spring MVC 和 Thymeleaf 资源版本控制

2024-02-22

我正在尝试使用 Spring Mvc 4 进行资源版本控制。我使用 thymeleaf 模板引擎。但不适用于以下代码。加载页面时,当我查看页面源代码时,我看不到新版本的 Url。那么我的代码有什么问题?我想念什么?

@Override
public void addResourceHandlers(final ResourceHandlerRegistry registry) {
    registry.addResourceHandler("/static/theme*//**").addResourceLocations("/resources/static/theme/")
            .setCacheControl(CacheControl.maxAge(365, TimeUnit.DAYS))
            .resourceChain(false)
            .addResolver(new VersionResourceResolver().addContentVersionStrategy("/**"))
            .addTransformer(new CssLinkResourceTransformer());
    registry.addResourceHandler("/static*//**").addResourceLocations("/resources/static/")
            .setCacheControl(CacheControl.maxAge(365, TimeUnit.DAYS))
            .resourceChain(false)
            .addResolver(new VersionResourceResolver().addContentVersionStrategy("/**"))
            .addTransformer(new CssLinkResourceTransformer());
    registry.addResourceHandler("/static/js*//**").addResourceLocations("/resources/static/js/")
            .setCacheControl(CacheControl.maxAge(365, TimeUnit.DAYS))
            .resourceChain(false)
            .addResolver(new VersionResourceResolver().addContentVersionStrategy("/**"))
            .addTransformer(new CssLinkResourceTransformer());
}

@Bean
public ResourceUrlEncodingFilter resourceUrlEncodingFilter() {
    return new ResourceUrlEncodingFilter();
}

我在脚本标记中使用 with 表达式。th:src="@{/resources/static/js/companyList.js}"


我没有使用代码来管理它,只在 application.properties 中进行配置:

# Enable HTML5 application cache manifest rewriting.
spring.resources.chain.html-application-cache=true

# Enable the Spring Resource Handling chain. Disabled by default unless at least one strategy has been enabled.
spring.resources.chain.enabled=true
# Enable the content Version Strategy.
spring.resources.chain.strategy.content.enabled=true
# Comma-separated list of patterns to apply to the Version Strategy.
spring.resources.chain.strategy.content.paths=/**

我不需要添加任何其他代码来获取 CSS 和 JS 的 URL 中的哈希版本。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Spring MVC 和 Thymeleaf 资源版本控制 的相关文章

  • MAC OS 的 java.awt.Robot 类中出现无头环境错误

    我正在尝试使用 JavaFX 应用程序捕获屏幕截图Robot class 这是我在我的应用程序中使用的代码 Rectangle screenBounds new Rectangle Screen getPrimary getBounds g
  • 引入 V8 后,Google Apps 脚本无法为其他用户完全执行

    我编写了一个脚本 得到了这里好心人的大力帮助 该脚本使用 Google Sheets 脚本复制 Google Drive 上的文件夹 和内容 它运行了很长一段时间 但后来我启用了 V8 引擎 现在已禁用 问题是 它仍然适用于我 也许还有其他
  • 使用 jQuery 仅从字符串末尾修剪空格

    我知道 jQuery trim 函数 但我需要的是一种仅从字符串末尾修剪空格的方法 而不是开头 So str this is a string 会成为 str this is a string 有什么建议么 Thanks 您可以使用正则表达
  • jsf 中的类型未找到属性

    我正在尝试调用 jsf 中使用 primefaces 的属性 但我有错误 500 在托管bean PersonelBean 类型上找不到 我正在使用 hibernate jsf 和 spring PersonelBean java Mana
  • Web SQL 数据库 + Javascript 循环

    我正在尝试解决这个问题 但我自己似乎无法解决 我正在使用 Web SQL DB 但无法让循环正常使用它 I use for var i 0 i lt numberofArticles 1 i db transaction function
  • 将 JavaScript 引擎嵌入到 .NET 中 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 只是想知道是否有人尝试过将任何 js 引擎嵌入并实际集成到 net 环境中 我可以找到并实际使用 经过L
  • 使用 JavaScript 的计时器

    我想使用java脚本实现计时器 我想随着间隔的变化而减少计时器 Example假设我的计时器从 500 开始 我想要根据级别减少计时器 例如1 一级定时器应减1 且递减速度应较慢 2 2级定时器应递减2 递减速度应为中等3 3级定时器应减3
  • 在 HttpClient4 中使用 PoolingHttpClientConnectionManager 的正确方法出现问题 java.lang.IllegalStateException: 连接池关闭

    我正在 Java 中利用 HTTPclient4 发送 HTTP 请求并处理 HTTP 响应 我想使用连接池来提高性能 但我无法找到合适的方法来做到这一点 我正在 Java 中利用 HTTPclient4 发送 HTTP 请求并处理 HTT
  • 如何在 angularjs 中修剪()字符串?

    有角度特定的方法吗 如果没有 我应该使用内置的jquery 来做到这一点吗 如果我应该使用内置的jquery 如何在不使用 的情况下访问trim 函数 或者这是必要的 编辑 是的 我知道 str trim 对不起 我需要这个才能在 IE 8
  • 我们可以用java定制一个垃圾收集器吗?

    我们知道java的垃圾收集器是一个低优先级线程 在java中我们可以创建任何具有高优先级的线程 那么是否有可能拥有我们自己定制的具有可变优先级的垃圾收集器线程 我们可以根据内存管理的级别进行设置 有人尝试过吗 如果是的话 您能分享一些关于如
  • 理论上防止 WebSocket 中第一个收到的消息丢失

    服务器端代码发送消息立即地连接打开后 它向客户端发送初始配置 问候语 以下代码是在客户端 var sock new WebSocket url sock addEventListener error processError sock ad
  • Java 8 Stream - 为什么过滤器方法不执行? [复制]

    这个问题在这里已经有答案了 我正在学习使用java流进行过滤 但是过滤后的流没有打印任何内容 我认为过滤器方法没有被执行 我的过滤代码如下 Stream of d2 a2 b1 b3 c filter s gt s startsWith b
  • JTable中动态加载大量数据

    这是我的问题 我目前有一个 JTable 其中包含 5 000 到超过 200 000 行 你知道我要说什么了 数据已经加载到内存中了 这不是问题 但是如何 我可以创建一个高效的 JTable 以便它只加载以下行 是可见的 并且任何事件仅作
  • spring-boot-starter-web 2.4.4 导入 spring-web 和 spring-webmvc 版本 4.3.12 在 pom 中列为 5.3.5

    我正在使用spring boot starter web我的项目中的版本2 4 4 当我查看其内容时 它清楚地列出了 spring web 和 spring webmvc 5 3 5 版本 但是 由于某种原因 我可以看到这个 spring
  • ThreeJS无法加载Json文件

    首先 我已经读过这个问题 https stackoverflow com questions 17201888 three js exporter export object not working with jsonloader r58没
  • 如何使用 AEM 解析 org.apache.http.ssl?

    最终 我尝试在 Java 代码中使用 AWS S3 库来通过 AEM 启用服务器端 S3 上传 但在安装依赖项和 或由 AEM 识别时遇到了问题 每次我添加新的依赖项时 都会弹出五个问题 在我尝试构建的这个包中 这是我看到的错误 The i
  • 在 Google Apps 脚本中的文本前插入换行符

    我需要在 Google 文档中的某些文本之前插入一些换行符 尝试过这种方法但出现错误 var body DocumentApp getActiveDocument getBody var pattern WORD 1 var found b
  • 用于从链表中删除元素的大 O 表示法[重复]

    这个问题在这里已经有答案了 我正在阅读有关链接列表的内容 我发现 从链表中删除所需的元素需要 O n 运行时间 其中 n 是元素的数量 列表中的元素 http www cs mcgill ca dprecup courses IntroCS
  • 在测试期间调用预定方法[重复]

    这个问题在这里已经有答案了 我正在使用 Maven 开发 SpringBoot 应用程序 我有一个班级 Component有方法的注释m与 Scheduled initialDelay 1000 fixedDelay 5000 注解 这里f
  • 在 Vavr 中结合任一者?

    我有几个Vavr https www vavr io Either https www vavr io vavr docs either的 我想调用一个函数Right每个 Either 的值 例如 Either

随机推荐

  • 重载 && 和 || 实际上是否有原因?不短路吗?

    运营商的短路行为 and 对于程序员来说是一个了不起的工具 但为什么它们在超载时会失去这种行为呢 我知道运算符只是函数的语法糖 但运算符bool有这种行为 为什么要限制为这种单一类型 这背后有什么技术原因吗 所有设计过程都会导致相互不兼容的
  • 将现有 Webdriver 对象传递给 Robot Framework 的自定义 Python 库

    我正在尝试为 Robot Framework 创建自定义 Python 库 但我对 Python 和 Robot 很陌生 并且不确定如何完成我想要做的事情 我想将 Robot 使用 Selenium2Library 创建的 Webdrive
  • 具有自定义注册控制器的设置设备

    我正在使用 devise 开发一个 Rails 站点 我们还不希望用户注册 用户身份验证使我们可以登录以访问网站的受限部分并添加 编辑我们认为合适的内容 所以现在 我创建了以下控制器 class Users RegistrationCont
  • 如何检查日期是否在日期字符串列表中?

    这将始终打印 false 如何检查日期是否在数组中并打印正确的内容 dates 2012 09 03 2012 10 08 2012 10 09 2012 11 12 more values snipped for brevity 2013
  • 圆柱/圆锥上均匀生成 3D 点

    我希望在圆柱体和圆锥体上 分别 随机且均匀地生成点 圆柱体由其中心 半径和高度定义 锥体规格相同 我能够获得每个形状的边界框 因此我正在考虑在边界框内生成点 但是 我不确定如何将它们投影到圆柱体 圆锥体上 或者这是否是最好的主意 有什么建议
  • Redis 模仿 MASTER/MASTER?或者是其他东西?

    我已经阅读了这里的很多帖子并上网冲浪 但也许我没有问正确的问题 我知道 Redis 目前是主 从 直到 Cluster 可用 但是 我想知道是否有人可以告诉我如何在逻辑上配置 Redis 以满足我的需求 或者它是否不是正确的工具 设想 我们
  • 如何使用 XPath/XSLT fn:json-to-xml

    我需要将 JSON 字符串转换为 XML 字符串 标签确实包含属性 从答案中this https stackoverflow com questions 38783463 how to convert badgerfish style js
  • 多线程访问LinkedList时的线程安全

    我的应用程序需要保留对特定资源的请求的访问日志 并且多个线程将记录日志条目 唯一相关的信息是请求的时间戳 检索的统计信息将是过去 X 秒内发生的请求数量 返回给定秒数的统计信息的方法还需要支持多线程 我正在考虑使用以下方法来处理并发处理Lo
  • 列出多个jar文件的内容

    我正在一堆罐子里寻找 class 文件 jar tf abc jar 适用于一个文件 我试过 find name jar xargs jar tf 不打印任何内容 我能想到的唯一解决方案是全部解压 然后搜索 有没有更好的办法 我在 LUni
  • 我如何判断 RenderAction 是否正在调用我的操作?

    我有一个可能通过普通链接调用的操作 在这种情况下我会返回 View 或者也可以通过 AJAX 或 RenderAction 即作为子操作 调用它 在这种情况下我会返回一个 PartialView 整理 AJAX 部分很容易 但如何测试我的操
  • 尝试执行restclient请求时找不到合适的HttpMessageConverter

    我正在尝试使用Spring for Android rest client发送数据http post 以避免创建和解析 json 数据 来自他们的manual http static springsource org spring andr
  • 增加内存映射文件的大小[重复]

    这个问题在这里已经有答案了 可能的重复 如何动态扩展内存映射文件 https stackoverflow com questions 6096485 how to dynamically expand a memory mapped fil
  • workbox serviceworker 在除 Chrome 之外的任何地方工作:未捕获(承诺中)DOMException

    Workbox 无法在 Chrome 上运行 但在其他地方都可以运行 这很讽刺 因为我相信这是一个谷歌图书馆 显示的错误是 Uncaught in promise DOMException sw js line 1 Chrome Opera
  • 从 Python 中的嵌套列表中删除一列

    我需要帮助弄清楚如何从嵌套列表中删除 列 来修改它 说我有 L 1 2 3 4 5 6 7 8 9 1 2 3 我想删除第二列 因此值为 2 6 1 以获得 L 1 3 4 5 7 8 9 2 3 我一直不知道如何通过删除一列来修改列表 我
  • Qt:QTableWidget/QTableView 在整个视口中交替行颜色

    我有一个 QTableView 包含数据库中的数据行 但是 设置 setAlternatingRowColors true 仅交替具有数据的行颜色 表的其余部分只是白色 这不是您期望的行为 例如 查看任何浏览器的书签列表 空行具有交替颜色
  • Swift Firebase 快照到对象模型

    我正在使用一个大型 Firebase 数据库 该数据库至少有 6 层层次结构 并且每个节点有许多子节点 我想解析整个快照并将其转换为对象模型 我发现this https stackoverflow com questions 3551449
  • 检测何时位于字符串流的末尾

    我正在尝试编写一个函数来检测我何时几乎到达字符串流的末尾 但它似乎不起作用 这是一些代码 std string path 1 2 3 int number std stringstream ss path while ss eof if s
  • 从自制软件安装后无法使 ffmpeg 工作

    我通过自制程序安装了 ffmpeg 但是当我尝试运行它时 即使只是输入ffmpeg我收到以下错误消息 dyld Library not loaded usr local lib liblzma 5 dylib Referenced from
  • Android EGL/OpenGL ES 帧率卡顿

    TL DR 即使根本不进行任何绘制 在 Android 设备上的 OpenGL ES 渲染线程上保持 60Hz 的更新率似乎也是不可能的 神秘的峰值经常出现 在底部的代码中演示 而我为找出原因或如何导致的一切努力都导致了死胡同 在使用自定义
  • Spring MVC 和 Thymeleaf 资源版本控制

    我正在尝试使用 Spring Mvc 4 进行资源版本控制 我使用 thymeleaf 模板引擎 但不适用于以下代码 加载页面时 当我查看页面源代码时 我看不到新版本的 Url 那么我的代码有什么问题 我想念什么 Override publ