Hello! 欢迎来到小浪资源网!


Thymeleaf静态资源路径不固定怎么办?


Thymeleaf静态资源路径不固定怎么办?

thymeleaf链接指向位置的困惑,如何固定静态资源路径?

thymeleaf中使用链接表达式时,其指向的位置经常随当前url而变化,给开发带来了困扰。本文将深入探究这个问题,并提供解决方案,以确保链接始终指向固定的静态资源。

问题根源

thymeleaf链接表达式中使用的相对路径@{path/file.ext}和path/file.ext都相对于当前url。这意味着当应用程序的url结构发生变化时,这些路径也会相应改变。

解决方案

要解决这个问题,需要使用绝对路径,使链接表达式根目录固定为spring boot指定的静态资源目录。这可以通过以下代码实现:

<img  th:src="@{/images/image.png}"/ alt="Thymeleaf静态资源路径不固定怎么办?" >

这样,无论当前url是什么,链接表达式始终指向项目的/images文件夹中的image.png文件。

路径冲突

在某些情况下,静态资源的绝对路径可能会与控制器的路径冲突。例如,如果控制器路径为/{var1}/{var2},则静态资源路径{/images/image.png}与控制器路径/{var1}冲突。

在这种情况下,解决方案是修改控制器路径的描述,使其与静态资源路径不冲突。可以使用正则表达式或其他方法来实现此目的。

相关阅读