无法使用Spring Boot thymeleaf加载图像

时间:2018-06-28 12:51:19

标签: spring spring-mvc spring-boot thymeleaf

我刚接触Spring Boot,并遵循Guru spring framework教程。

我简单的spring boot应用程序成功运行,并且我的控制器工作正常。 我已经使用thymeleaf来显示html页面并使用了一些 bootstrap css 。一切正常,但是我的一个html页面中有一个图像标签。 Thymeleaf在运行应用程序时显示正确的页面,但未显示图像。我对此进行了谷歌搜索,并将图像放在/ resources / static / images下。这是我的项目结构:

enter image description here

我也已将同一张图片复制到模板目录,并使用了这两个文件,但是无法加载。

这是我的html文件:

enter image description here

这是我运行应用程序时得到的:

enter image description here

404找不到错误:

enter image description here

有人可以告诉我我想念什么吗?

5 个答案:

答案 0 :(得分:4)

尝试更改为

<img src="../static/images/pirate.jpg" width="1000" th:src="@{images/pirate.jpg}"/>

答案 1 :(得分:2)

在img标签中,属性th:src的值指向错误的路径,它应该是th:src="@{images/pirates.jpg}"而不是th:src="@{../static/images/pirates.jpg}"

<img src="../static/images/pirates.jpg" width="1000"
             th:src="@{images/pirates.jpg}"/>

通过查看源代码来检查浏览器中呈现的HTML中的最终路径

答案 2 :(得分:1)

我遇到了同样的问题,当我删除前导斜杠时可以使用

<img th:src="@{images/TacoCloud.png}" />

答案 3 :(得分:0)

所有资源都存储在静态文件夹中,这是默认目录。您无需指定要使用的图像的相对路径。只需简单地输入文件名即可。

示例

答案 4 :(得分:0)

使用以下代码后我解决了我的错误,您需要使用src="@{/images/pirates.jpg}"。而不是这个src="@{images/pirates.jpg}"