2017-03-24 8 views
0

私はテンプレート言語としてThymeleafを使用してSpring MVCアプリケーションを構築しています。私は非常に多くのことを試みましたが、私のThymeleafテンプレートにCSSファイルを含めることができませんでした。私は間違って何をしていますか?Spring MVCにCSSファイルをThymeleafに含めるにはどうすればいいですか?

私のプロジェクトの構成は次のとおりです。

project 
    src/ 
     main/ 
      java/ 
      resources/ 
    web/ 
     WEB-INF/ 
      web.xml 
      dispatcher-servlet.xml 
      views/ 
       css/ 
        bootstrap.min.css (and other css files) 
       index.html 

また、index.htmlは次のようになります。

<!DOCTYPE html> 
<html lang="en" xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org"> 
<head> 
    <meta charset="utf-8"/> 
    <meta http-equiv="X-UA-Compatible" content="IE=edge"/> 
    <meta name="viewport" content="width=device-width, initial-scale=1"/> 
    <meta name="description" content=""/> 
    <meta name="author" content=""/> 
    <title>Hello Spring MVC</title> 
    <link th:href="@{/css/bootstrap.min.css}" rel="stylesheet"/> 
</head> 
<body> 
... 
</body> 
</html> 

私のアプリケーションを実行すると、index.htmlが表示されますが、cssは見つかりません。

どのようにCSSを含める必要がありますか?

+0

あなたのコードは絶対に正常に見える見ることができます。問題はどこかにある。万が一あなたはSpring Securityの設定をしていますか?例えば。 Spring Sec。明示的に許可しないと、CSSへのアクセスがブロックされます。または、あなたの設定クラス/ XMLの一般的な表示方法について教えてください。 –

答えて

3

先頭の「/」を削除しようとしましたか?このように:

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

また、多くのIDEでは、ファイルをドラッグアンドドロップすると、そのファイルへのリンクが作成されます。たとえばNetbeansでは、プロジェクトナビゲータからHTML(またはHTMLのような)開いたファイルにファイルをドラッグすると、リンクが作成されます。

試してみてください。

project 
src/ 
    main/ 
     java/ 
     resources/ 
      static/ 
       bootstrap.css 
+0

私はちょうど試しました、それは動作しません。私もドラッグ/ドロップを使用してみましたが、上記と同じリンクを作成します(css/bootstrap.min.css)。 – Javiator

+0

私は以前のSpringブートレポを見て、CSSをresources/staticの下に置きました。メインディレクトリ。したがって、src/main/resources/static/my.cssにあります。 テンプレートがそこにあるかどうか確認してください。 – ASOlivieri

+0

フォルダのマッピングはありますか? – Javiator

0

は、あなたのリソースハンドラを正しく設定しましたか? I.

@Override 
public void addResourceHandlers(final ResourceHandlerRegistry registry) { 
    super.addResourceHandlers(registry); 
    // ... 
    registry.addResourceHandler("/css/**") 
     .addResourceLocations("classpath:/views/css/"); 
    // ... 
} 

XMLの構成例は、here

関連する問題