2015-03-10 4 views
0

Моя структура папокSpring загрузки CSS раздели

ProjectName 
src/main/java 
src/main/resources 
    static 
     css 
     styles.css 
     main.css 
     js 
     ... 
    templates 

Все мои HTML файлы находятся в папке templates

Моя голова HTML файл

<!DOCTYPE html> 
<html lang="en" xmlns:th="http://www.thymeleaf.org"> 
... 
<link rel="stylesheet" href="../static/css/main.css" /> 
<link rel="stylesheet" href="../static/css/styles.css" /> 

Я не EnableWebMvc ни в одном из моих Java-классы

Когда я запускаю это как банку, страница выглядит отлично, но CSS лишается. Он просто отображается как обычный текст. Я пробовал это в разных браузерах с тем же результатом. Что я делаю не так?

ответ

2

Если вы проверили консоль своего браузера (например, в Chrome), я предполагаю, что вы увидите HTTP 404 Не найден для ваших файлов CSS. Проблема заключается в вашем URL-пути к CSS.

Главное, что существует разница в том, как файлы (.html, .css) хранятся в вашем файле JAR (или в исходном коде) и как они обслуживаются HTTP-сервером. Насколько я вижу, вы используете тимелеафы и, следовательно, (мое предположение снова), ваши файлы шаблонов HTML могут обслуживаться для разных типов URL-адресов (например, , /book/23 и т. Д.), И поэтому я не рекомендую обращаться к файлам CSS с относительными URL-адреса (как и вы).

Поскольку файлы CSS хранятся в каталоге static, они должны автоматически обслуживаться весной boot для шаблона /**, т.е. если вы не используете какой-либо контекстный путь, ваш CSS должен иметь следующий URL: /css/main.css.

Если вы хотите быть очень правильно, и быть готовым, что ваш веб-приложение может быть в другом контексте «», вы должны использовать что-то вроде <link rel="stylesheet" th:href="@{/css/main.css}">

+0

большое спасибо большое спасибо это действительно исправить мою проблему – memo

Смежные вопросы