Java Can';t在特定端点使用thymeleaf访问静态资源

Java Can';t在特定端点使用thymeleaf访问静态资源,java,spring-boot,thymeleaf,Java,Spring Boot,Thymeleaf,我有带thymeleaf启动器的基本Spring Boot应用程序。(2.0.1.发行版) 这是项目结构 如您所见,我有html页面(test,testexchange) 我有一个控制器来访问这两个页面: test.html和test exchange.html页面完全相同 我在下面的目录中有tagManager.js /resources/static/js/tagManager.js 在test-exunge.html中我不能加载这个脚本,但在test.html中我可以(我的意思是在

我有带thymeleaf启动器的基本Spring Boot应用程序。(
2.0.1.发行版

这是项目结构

如您所见,我有html页面(
test,testexchange
) 我有一个控制器来访问这两个页面:

test.html和test exchange.html
页面完全相同

我在下面的目录中有
tagManager.js

/resources/static/js/tagManager.js
在test-exunge.html中我不能加载这个脚本,但在test.html中我可以(我的意思是在开发人员控制台中,我得到404访问脚本)

有趣的是,如果我像这样将端点更改为test-exchange.html

脚本已成功加载。据我所知,
thymeleaf
不允许在控制器中使用相同的字符串来实现页面。
如何修复它?

这是由于js文件的相对映射造成的。加载
xxx/test
下的页面,并尝试从
xxx/js/tagManager.js
加载js文件,但如果您位于url
xxx/test/something
处,它将尝试从
xxx/test/js/tagManager.js
加载js文件。因此,您将需要来自域根的映射

您可以使用
@{/js/tagManager.js}
而不是
js/tagManager.js
来实现这一点

这看起来像这样:

<script th:src="@{/js/tagManager.js}"></script>


如果有任何不清楚的地方,请随时询问

一个小提示,以改进您的问题:请将代码粘贴为代码块,而不是图像。提前谢谢:)好的,我以后会做的,关于这个问题有什么建议吗?:)你是说这个吗?@AlmasAbdrazak,yes@AlmasAbdrazak,但请注意,它带有一个
@
,在花括号内没有引号