Thymeleafのfragmentで引数を設定

プログラミング
スポンサーリンク

先日Thymeleafで部品化する方法をご紹介しましたが、今回はそこに引数を設定する方法です。

部品化については、以下の記事をご覧ください。

定義

引数の定義は、fragmentに指定します。

<p class="fragment" th:fragment="fragment1(value1, value2)">サンプル</p>

使用方法

フラグメントを、common/parts.html に定義した場合

<div class="insert" th:insert="common/parts :: fragment1(value1='a', value2='b')"></div>

引数名省略

上記は、どの引数に何を設定するかを指定していますが、先頭の引数から順番に設定する場合は省略できます。

<div class="insert" th:insert="common/parts :: fragment1('a', 'b')"></div>

ほかの言語に慣れている方は、こっちのほうがわかりやすいですかね。

省略時注意

使用する際は、記法を合わせる必要があります。
そのため、1つ目の引数は省略し、2つ目の引数には引数名=値の書き方をした場合などは、エラーとなります。
どちらかに合わせて書きましょう。

エラーパターン

<div class="insert" th:insert="common/parts :: fragment1('a', value2='b')"></div>

コメント

タイトルとURLをコピーしました