Thymeleaf с Spring Boot - не удается найти статические активы (CSS) - PullRequest
0 голосов
/ 19 декабря 2018

Я использую шаблонизатор Thymeleaf в своем приложении Spring Boot MVC, но у меня возникают трудности при загрузке без стилей.Ссылка находится в файле header.html (находится в ресурсах / шаблонах / фрагментах) и на нее ссылаются в login.html (в ресурсах / шаблонах).Таблица стилей находится в каталоге resources / static / css.

<head th:fragment="header">
    <link rel="stylesheet" href="../../static/css/bootstrap.css" th:href='@{/css/bootstrap.css}' />
</head>

login.html

<html>
<header th:replace="fragments/header :: header"></header>

<body class="container">

    <h1>Login page</h1>
   // Code omitted for brevity

  </body>

</html>

У меня очень типичная структура каталогов: enter image description here

На основании этого Вопрос и другие источники, похоже, что приложение должно иметь возможность загружать таблицу стилей по указанной ссылке.Однако, это не так.В частности, если я смотрю на вкладке сети моего браузера, запрос таблицы стилей возвращает 302 (не 404), но стили не применяются.Кроме того, если я нажимаю на вкладку «Редактор стилей» в Firefox, я получаю сообщение Stylesheet could not be loaded: http://localhost:8080/css/bootstrap.css.

В чем может быть проблема?Спасибо.

Ответы [ 2 ]

0 голосов
/ 19 декабря 2018

Ваш тег ссылки должен быть

<link href="../../static/css/bootstrap.css" th:href="@{css/bootstrap.css}" rel="stylesheet" media="screen"/>

0 голосов
/ 19 декабря 2018

Я думаю, что это должно быть

href="/static/css/bootstrap.css"

или даже

href="static/css/bootstrap.css"

, и в целом этот ресурс доступен под

http(s)://yourdomain/yourApplicationRoot/static/css/bootstrap.css

По сути, это путь, по которому пружина по умолчанию предоставляет статические ресурсы.

В вашем случае это будет @{static/css/bootstrap.css} (или с косой чертой в начале)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...