2017-03-19 7 views
0

私は自分のCSSリンクを保存するThymeleafで "head"フラグメントを使用します。Thymeleafの "include"優先順位を変更できますか?

私はまた、特定のページにのみ適用したいユニークなCSSファイルがあります。これを達成するための私の最初の試みは以下の方法でした。

<head th:include="fragments/head :: head"> 
    <link rel="stylesheet" th:href="@{/css/create-post.css}" /> 
</head> 

フラグメントからCSSファイルをheadタグの下の現在のコンテンツを挿入されているようですが。これは問題です。なぜなら、create-post.cssではスタイリングをオーバーライドしたいからです。

Thymeleafがheadタグに挿入する方法の優先順位を変更する方法はありますか?

答えて

0

私は...

提案1私が正しく理解してかどうかわからないんだけど、私はそれにいくつかの試みを与えてみましょう)私はいくつかのjavascript-Sは、すべてのページに含まれている小規模なプロジェクトを持っており、一部のページにはページ固有のスクリプトが含まれています。ここでは、先頭フラグメントの定義は次のとおりです。

<head th:replace="/fragments/commonheader :: common_header(~{::title},~{::script})"> 

    <title>Register a new user</title> 

    <script th:src="@{https://www.google.com/recaptcha/api.js}"></script> 

</head> 

提案2)th:includeほか:ここ

<head th:fragment="common_header(title, scripts)"> 

    <title th:replace="${title}">A title</title> 

    <!-- Common scripts --> 
    <script 
     src="/js/jquery/jquery.min.js" 
     th:src="@{/js/jquery/jquery.min.js}"> 
    </script> 

    ... 

    <th:block th:replace="${scripts}"> 
    </th:block> 

</head> 

はjQueryのもreCAPTCHAのサポートのための追加のスクリプトだけでなく、必要とする特定のページですth:replaceです。 th:includeはそのフラグメントの内容をそのホストタグに含めるが、th:replaceは実際にフラグメントによってホストタグを置換する。詳細here

これらのアイデアが役に立ちそうですか?

関連する問題