2017-02-22 84 views
0

Я могу увидеть мой шаблон начальной загрузки с использованием тимелеафа с пружинным ботинком.Spring Boot thymeleaf не может загрузить ресурс css

Когда я запрашиваю http://localhost:8080/student загрузочные ресурсы работают хорошо, но когда я запрашиваю, включая некоторую переменную пути, такую ​​как http://localhost:8080/student/3, загрузочная загрузка не может быть загружена. Я получаю эту ошибку от браузера Метод запроса: GET Код состояния: 400. Он пытается запросить файл начальной загрузки http://localhost:8080/student/bootstrap.css.

Я не думаю, что у меня возникли проблемы с объявлением пути начальной загрузки, потому что другие страницы работают нормально. И мои пути от руководства в качестве ресурсов/static/bootstrap.css Я не использую WebMvcConfig, и я использую защиту по умолчанию весной.

@RequestMapping(value = "/student/{id}", method = RequestMethod.GET) 
public String izinEkle(Model model, @PathVariable int id) { 


    studentService.getStudentlById(id); 
    Izin izin = new Izin(); 
    model.addAttribute("izin",izin); 
    return "izinGiris"; 
} 

-

<head lang="en"> 

<title>HolyDayTracker</title> 
<link href="../static/bootstrap.css" th:href="@{bootstrap.css}" rel="stylesheet" media="screen"> 
<link href="../static/style.css" th:href="@{style.css}" rel="stylesheet"> 
<script src="http://cdn.jsdelivr.net/webjars/jquery/2.1.4/jquery.min.js th:src="@{../webjars/jquery/2.1.4/jquery.min.js}"></script> 

+0

Похоже, что программа пытается получить идентификатор переменной пути как bootstrap.css. Я думаю, что у меня есть логический сбой на пути запроса с переменными. Я довольно смущен. Любая помощь будет оценена по достоинству. Благодарю. – celnmeh

+1

Возможный дубликат [Абсолютный и относительный URL] (http://stackoverflow.com/questions/2005079/absolute-vs-relative-urls) – g00glen00b

+0

Проблема в том, что 'bootstrap.css' будет относительным URL-адресом, а'/student' и '/ student/3' находятся на разных уровнях, поэтому они будут относительно указывать на другое место для' bootstrap.css'. Для этого существует множество решений, большинство из которых можно найти в связанном вопросе. Наиболее распространенными решениями являются использование абсолютного URL-адреса (как показано в @shi) или путем установки тега '' в разделе '', поэтому базовый URL-адрес для всех путей одинаковый. – g00glen00b

ответ

0

Попробуйте добавить ведущий слэш/в вашем thymeleaf значения HREF атр. И вам не нужны дополнительные атрибуты href, только th: href.

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

Большое спасибо. Я думаю, что я пропустил важный момент в отношении тимелеафских ссылок. Не ожидал ничего подобного этому решению, все равно спас меня. Я ценю. Но точка, что если я удалю html href, я не могу автоматически заполнять классы начальной загрузки. Наверное, это ссылка на Ide. – celnmeh