2014-09-23 20 views
5

Tôi đang thực hiện dự án với Spring MVC và Thymeleaf. Tôi có một câu hỏi về làm thế nào tôi nên tham khảo các file CSS của tôi nếu tôi có cấu trúc thư mục này:tham chiếu tệp .css với thymeleaf vào mùa xuân mvc

src 
    main 
    webapp 
    resources 
     myCssFolder 
     myCssFile.css 
    web-inf 
     spring 
     views 
     myViewFolder 
      index.html 

lớp cấu hình của tôi là như thế này:

@Override 
    public void addResourceHandlers(ResourceHandlerRegistry registry) { 
     registry.addResourceHandler("/css/**").addResourceLocations("/css/**"); 
     registry.addResourceHandler("/img/**").addResourceLocations("/img/**"); 
     registry.addResourceHandler("/js/**").addResourceLocations("/js/**"); 
     registry.addResourceHandler("/sound/**").addResourceLocations("/sound/**"); 
     registry.addResourceHandler("/fonts/**").addResourceLocations("/fonts/**"); 
    } 

Và tôi gọi href trong file index của tôi như thế này :

href="resources/css/bootstrap.min.css" 

Nhưng có một số yếu tố được loại sai lầm trong trang của tôi, ví dụ như CSS không hoạt động.

+0

Sẽ tốt hơn nếu bạn cho thấy sự cấu trúc của dự án của bạn cũng như yêu cầu HTTP thực tế đang được thực hiện cho máy chủ của bạn cho tài nguyên – geoand

+0

Bạn có tìm thấy giải pháp này không? –

Trả lời

7

Bạn sẽ cần sử dụng thuộc tính th:href để giới thiệu tệp css. Đây là một mẫu từ hướng dẫn thymeleaf. Nếu thymeleaf không thể đánh giá giá trị th:href, giá trị mặc định là giá trị href.

<head> 
    <title>Good Thymes Virtual Grocery</title> 
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
    <link rel="stylesheet" type="text/css" media="all" 
     href="../../css/gtvg.css" th:href="@{/css/gtvg.css}" /> 
</head> 
+0

nó không hoạt động, uri tài nguyên của tôi có ổn không? – stackUser2000

+0

không có gì @Narresh cho thấy bạn là một ví dụ về cách sử dụng th: href – ndrone

+1

Cấu hình của bạn có vẻ đúng. tuy nhiên, bạn nên có các tệp css của mình trong thư mục 'webapp/css /' và bạn nên tham khảo nó bằng cách sử dụng 'th: href =" @ {/ css/bootstrap.min.css} "' –

2

Tôi gặp vấn đề như vậy! Các bước đó đã giúp tôi.

  1. Tôi có thư mục /resources/css/myCSS.css. Vì vậy, tôi đã đặt css vào gốc như /css/myCSS.css và loại bỏ thư mục/nguồn
  2. tôi liên kết MyCSS như thế này:

<link th:href="@{/css/MyCSS.css}" href="/css/MyCSS.css" rel="stylesheet" type="text/css" />

Các vấn đề liên quan