Таблицы стилей в новом 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" />