先日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>
コメント