10属性の優先度
1つのタグに複数のth:*属性を記述するとどうなりますか? 例:
<ul> <li th:each="item : ${items}" th:text="${item.description}">Item description here...</li> </ul>
th:各属性は、 th:テキストの前に実行されるため、目的の結果が得られますが、HTML / XML標準がタグ内の属性の順序に関係ないという事実を考えると、属性自体に優先度メカニズムを設定する必要があります期待どおりに動作することを確認してください。
したがって、すべてのThymeleaf属性は、タグ内で実行される順序を設定する数値を定義します。 この順序:
ご注文 | 機能性 | 属性 |
---|---|---|
1 | フラグメントの包含 | th:挿入
th:交換 |
2 | フラグメント反復 | th:それぞれ |
3 | 条件付き実行 | th:もし
th:場合を除き th:スイッチ th:ケース |
4 | ローカル変数の定義 | th:オブジェクト
th:と |
5 | 基本的な属性の変更 | th:attr
th:attrprepend th:トラップペンド |
6 | 特定の属性の変更 | th:値
th:href th:src ... |
7 | テキスト(タグ本体の変更) | th:テキスト
th:utext |
8 | フラグメント定義 | th:フラグメント |
9 | フラグメントを削除する | th:削除 |
この優先メカニズムは、属性の位置が逆になった場合、上記の反復フラグメントがまったく同じ結果を与えることを意味します(ただし、読みにくくなります)。
<ul> <li th:text="${item.description}" th:each="item : ${items}">Item description here...</li> </ul>