2017-02-22 1 views
0

Ich kann meine Bootstrap-Vorlage mit Thymoleaf mit Spring Boot sehen.Spring Boot thymeleaf nicht in der Lage zu laden css Ressource

Wenn ich Anfrage http://localhost:8080/student Bootstrap-Ressourcen arbeiten gut, aber wenn ich Anfrage einschließlich einige Pfadvariable wie http://localhost:8080/student/3 Bootstrap kann nicht hochgeladen werden. Ich erhalte diesen Fehler vom Browser Anforderungsmethode: GET Statuscode: 400. Es versucht, Bootstrap-Datei wie http://localhost:8080/student/bootstrap.css anzufordern.

Ich glaube nicht, dass ich Probleme mit dem Pfad der Bootstrap-Dateien habe, weil andere Seiten funktionieren. Und meine Pfade sind von Guide wie Ressourcen/static/bootstrap.css Ich verwende nicht WebMvcConfig und ich verwende Standardfeder Sicherheit.

@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

Es scheint wie Programm versucht, Pfad Variable ID als bootstrap.css zu erhalten. Ich denke, ich habe einen logischen Fehler in den Anfragepfaden mit Variablen. Ich bin ziemlich verwirrt. Jede Hilfe wäre willkommen. Vielen Dank. – celnmeh

+1

Mögliches Duplikat von [absolute vs relative URLs] (http://stackoverflow.com/questions/2005079/absolute-vs-relative-urls) – g00glen00b

+0

Das Problem hier ist, dass 'bootstrap.css' eine relative URL sein wird, und'/student 'und'/student/3' sind auf verschiedenen Ebenen, so dass sie relativ auf einen anderen Speicherort für 'bootstrap.css' zeigen. Dafür gibt es viele Lösungen, die meisten finden sich in der verknüpften Frage. Die gebräuchlichsten Lösungen sind die Verwendung einer absoluten URL (wie von @shi gezeigt) oder das Setzen eines '' Tags in Ihrem' ' Bereich, so dass die Basis-URL für alle Pfade gleich ist. – g00glen00b

Antwort

0

Versuchen Sie, einen führenden Schrägstrich/in Ihrem thymeleaf href attr Wert hinzufügen. Und Sie brauchen keine zusätzlichen href-Attribute, nur th: href wird es tun.

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

Vielen Dank. Ich glaube, ich habe einen wichtigen Punkt über Thymelflecken verpasst. Erwartete nichts wie diese Lösung, sowieso rettete mich aus. Ich schätze es. Aber ein Punkt, dass, wenn ich HTML href entferne ich Bootstrap-Klassen nicht automatisch vervollständigen kann. Wahrscheinlich ist es eine Referenz für den Ide. – celnmeh

Verwandte Themen