目次11コメントとブロック
11.1。 標準HTML / XMLコメント
標準のHTML / XMLコメント<!-...->は、Thymeleafテンプレートのどこでも使用できます。 これらのコメント内のすべてはThymeleafによって処理されず、そのままコピーされます。
<div th:text="${...}"> ... </div>
11.2。 Thymeleafパーサーレベルのコメントブロック
パーサーレベルのコメントは、解析時にテンプレートから単純に削除されるコードです。 それらを見てみましょう:
Thymeleafは<!-/ *と* /->の間のすべてを削除するため、これらのコメントブロックは、テンプレートが静的に開いているときにコードを表示するためにも使用できます。
<div> you can see me only before Thymeleaf processes me! </div>
これは、たとえば<tr>を多く含むテーブルのプロトタイピングに役立ちます。たとえば、次のようになります。
<table> <tr th:each="x : ${xs}"> ... </tr> <tr> ... </tr> <tr> ... </tr> </table>
11.3。 Thymeleafプロトタイピングコメント
Thymeleafでは、プロトタイプデザインを表示するときに便利な特別なコメントブロックを定義できますが、Thymeleafからテンプレートを処理するときは通常のマークアップと見なされます。
<span>hello!</span> <span>goodbye!</span>
Thymeleafのパーサーは、単に<!-/ * /および/ * /->マーカーを削除しますが、その内容は削除せず、コメントなしで残します。 出力でテンプレートを処理すると、以下が表示されます。
<span>hello!</span> <div th:text="${...}"> ... </div> <span>goodbye!</span>
パーサーレベルのコメントブロックのように、この関数は方言に依存しません。
11.4。 合成th:ブロックタグ
Thymeleafの要素プロセッサ(属性ではなく)であり、標準方言に含まれているのは
th:blockです。
th:ブロックは、テンプレート開発者が必要な属性を指定できる単純な属性コンテナです。 Thymeleafはこれらの属性を実行し、ブロックを削除しますが、その内容は削除しません。
したがって、これは、たとえば、各要素に複数の<tr>を必要とする繰り返しテーブルを作成する場合に便利です。
<table> <th:block th:each="user : ${users}"> <tr> <td th:text="${user.login}">...</td> <td th:text="${user.name}">...</td> </tr> <tr> <td colspan="2" th:text="${user.address}">...</td> </tr> </th:block> </table>
プロトタイプのみのコメントブロックと組み合わせて使用すると、特に便利です。
<table> <tr> <td th:text="${user.login}">...</td> <td th:text="${user.name}">...</td> </tr> <tr> <td colspan="2" th:text="${user.address}">...</td> </tr> </table>
このソリューションにより、テンプレートを有効なHTMLにすることができることに注意してください(<table>内に禁止<div>ブロックを追加する必要はありません)。これをプロトタイプとしてブラウザーで開くと、引き続き正常に機能します!