@MarkusEfr

Как отобразить изображение на странице в spring, thymeleaf?

Приветствую.
Пишу веб-приложение на spring boot, thymeleaf, bootstrap и немного другого. Пытаюсь отобразить картинку на странице, но это не получается. Структура проекта и как я это делаю видно на скрине
5ce45f7f06170073360596.jpeg
Также пробовал делать как пишут тут https://stackoverflow.com/questions/51083414/cant-... и другими способами, но пока решить проблему не удалось.
5ce45fb537a8c477191566.jpeg
Кто знает как это сделать помогите плиз.
5ce465a4ddfd0505118226.jpeg
Судя по ответу, проблема в пути к ресурсу, но как мне его правильно задать? ../ в начале пути не помогает, как и прописать полный путь от проекта к картинке.
  • Вопрос задан
  • 6703 просмотра
Решения вопроса 1
azerphoenix
@azerphoenix Куратор тега Spring
Java Software Engineer
Здравствуйте!
Начнем с самого простого...
Предположим, что вы загрузили изображения в папку img, которая лежит в static ( resources/static/img/myImage.jpg )
Если вы используете шаблонизатор thymeleaf, то в шаблоне нужно задать:
<img th:src="@{img/myImage.jpg}" alt=""/>
У вас на скрине ошибка, так как вы просто вставили картинку в атрибут src, а пути некооректные (404 ошибка), так как не учтен context path. У вас наверняка приложение открывается по урлу localhost:8080/contextPath
Кстати, урлы к внутренним ссылкам, скриптам и стилям задаются точно также ( th:href="@{/url/url}" )

Также заметил небольшой баг, с чем это связано не знаю, возможно intellij idea, возможно spring boot...
В общем, если даже перезапустить приложение, даже при корректных путях к файлам может быть 404 или 500 (насколько я понял, это происходит при настроенном spring security). Чтобы избежать этих ошибок, нужно сделать Rebuild project, а потом запустить. Столкнулся с этим только в одном проекте.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@maksfax
у меня возникла аналогичная ситуация картинка не открывается ни по<img th: src = "@ {/ images / polygon.png}" /> ни по<img src = "/ images / polygon.png" /> .Как можно решить эту проблему
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы