Таблицы стилей в новом Spring MVC 4
Я начал новый веб-проект в Spring MVC 4 (Spring Boot), и мой вопрос в том, где я должен поместить свои файлы css? Я использую механизм шаблонов thymeleaf и структуру папок, как на рисунке ![enter image description here]()
как вы можете видеть, я пытаюсь создать папку CSS в папке ресурсов, но ссылка <link rel="stylesheet" href="/resources/css/main.css" />
from index.html не работает. любые идеи?
Ответы
Ответ 1
Per инструкции:
Spring Загрузка по умолчанию будет служить статическим содержимым из папки /static (или/public или или /resources или/META-INF/resources) в пути к классам или из корня ServeltContext.
Там также образец или два, например. этот.
Ответ 2
Убедитесь, что вы размещаете свой проект как war
в pom.xml
.
Папка /src/main/resources
обычно развертывается в WEB-INF/classes
, поэтому она не будет доступна непосредственно из контекста.
Однако /src/main/webapp
обычно развертывается до /
(root вашего веб-приложения), доступного из контекста.
Вы должны разместить свои веб-ресурсы под /src/main/webapp
(например, /src/main/webapp/css
). Затем они автоматически развертываются под корнем контекста вашего веб-приложения. Затем они доступны из, например, /css
.
<link rel="stylesheet" th:href="@{/css/main.css}" />
Я также перенес ваши шаблоны на /src/main/webapp/WEB-INF/templates
.
Ответ 3
Если вы прочитаете документацию SpringBoot, вы увидите, что Spring Boot автоматически добавит статические веб-ресурсы, расположенные в любом из следующих каталогов:
- /META-INF/resources/
- /resources/
- /static/
- /государственный/
Создана папка с именем "css", и вы помещаете файл "main.css" внутри этой папки.
Таким образом, вы должны использовать относительный путь при ссылке на этот файл внутри вашего HTML
<link rel="stylesheet" href="/css/main.css" />