PlayFrameworkのtemplate その2
Include
テンプレートの中で別のテンプレートを呼び出すにはincludeを使います。
includeされたテンプレートでは、親テンプレートで使用可能な値を使うことができます。
includeする親側での呼び出しは下のような形です。
#{include 'Books/bookDetail.html'}
呼び出されるほうのテンプレート。
親で有効な値を使う場合は普通に${model.property}みたいに使えます。
<label>${book.author}</label>
Tag
テンプレートに対してパラメータを渡す場合にはTagを使います。
Tagというとわかりにくいですが、単にテンプレートと同じものだけども、こちらはパラメータを渡せます。
IncludeされたテンプレートからTagを呼び出すこともできます。
まず/views/tags/フォルダの下にTag化したいテンプレートを入れます。
Tag用のテンプレートの中では、親から受け取ったパラメータの頭にはアンダースコアが付きます。
この例では親テンプレートが「propertyName」を渡しているので、Tagテンプレートでは「_propertyName」として受けとります。
/*/views/tags/tagBookDetail.html*/ <input type="text" name="${_propertyName}" value="${_propertyValue}" />
/*親テンプレート*/ #{tagBookDetail propertyName:"author", propertyValue:"Goethe" /}
パラメータはカンマ区切りで渡します。