<ul>
,
<ol>
,
<dl>
要素のいずれかに
id
属性を付け,
Items
で終わる値とします. その内容に
<li>
,
<dt>
,
<dd>
要素を記述します.
<li>
,
<dt>
,
<dd>
要素の内容 (子孫) には,
<span>
要素や
<div>
要素を使ってテキストを動的に出力することができます.
ページクラスに
<ul>
要素等の
id
属性と同じ名前で, 型が配列または
java.util.List
のプロパティ (
xxxItems
) を用意し,表示する情報を設定します.
xxxItems
プロパティの要素と同じ型で,末尾の
Items
を取り除いた名前のプロパティ (
xxx
) を用意します.
xxx
プロパティがDtoまたは
java.util.Map
の場合は,Dtoのプロパティと同じ名前と型 (
Map
の場合はキーと同じ名前で値と同じ型) のプロパティをページクラスにも持たせます.
レンダリング時,
Items
プロパティの要素数分,リスト項目が繰り返し表示されます.
nameItems
プロパティが
"Teeda"
,
"SAStruts"
,
"Cubby"
, を要素とする配列の場合, レンダリング結果は次のようになります.
<table>
要素または
<tbody>
要素のいずれかに
id
属性を付け,
Items
で終わる値とします. その内容に
<tr>
要素を記述します.
<tr>
要素の内容 (子孫) には,
<span>
要素や
<div>
要素を使ってテキストを動的に出力することができます.
ページクラスに
<tbody>
要素等の
id
属性と同じ名前で, 型が配列または
java.util.List
のプロパティ (
xxxItems
) を用意し,表示する情報を設定します.
xxxItems
プロパティの要素と同じ型で,末尾の
Items
を取り除いた名前のプロパティ (
xxx
) を用意します.
xxx
プロパティがDtoまたは
java.util.Map
の場合は,Dtoのプロパティと同じ名前と型 (
Map
の場合はキーと同じ名前で値と同じ型) のプロパティをページクラスにも持たせます.
レンダリング時,
Items
プロパティの要素数分,行が繰り返し表示されます.
specItems
プロパティが 3つの
SpecDto
を要素とする
List
の場合, レンダリング結果は次のようになります.
<tr>
要素に
id
属性を付け,
Items
で終わる値とします. その内容に
<td>
要素または
<th>
要素を記述します.
<td>
要素または
<th>
要素の内容 (子孫) には,
<span>
要素や
<div>
要素を使ってテキストを動的に出力することができます.
ページクラスに
<tr>
要素の
id
属性と同じ名前で, 型が配列または
java.util.List
のプロパティ (
xxxItems
) を用意し,表示する情報を設定します.
xxxItems
プロパティの要素と同じ型で,末尾の
Items
を取り除いた名前のプロパティ (
xxx
) を用意します.
xxx
プロパティがDtoまたは
java.util.Map
の場合は,Dtoのプロパティと同じ名前と型 (
Map
の場合はキーと同じ名前で値と同じ型) のプロパティをページクラスにも持たせます.
レンダリング時,
Items
プロパティの要素数分,列が繰り返し表示されます.
productItems
プロパティが 3つの
Map
を要素とする
List
で,要素の
Map
は
"name"
をキーとするマッピングを含む場合, レンダリング結果は次のようになります.
<span>
要素または
<div>
要素に
id
属性を付け,
Items
で終わる値とします. その内容に任意の要素を記述します.
<span>
要素または
<div>
要素の内容 (子孫) には,
<span>
要素や
<div>
要素を使ってテキストを動的に出力することができます.
ページクラスに
<span>
要素または
<div>
要素の
id
属性と同じ名前で, 型が配列または
java.util.List
のプロパティ (
xxxItems
) を用意し,表示する情報を設定します.
xxxItems
プロパティの要素と同じ型で,末尾の
Items
を取り除いた名前のプロパティ (
xxx
) を用意します.
xxx
プロパティがDtoまたは
java.util.Map
の場合は,Dtoのプロパティと同じ名前と型 (
Map
の場合はキーと同じ名前で値と同じ型) のプロパティをページクラスにも持たせます.
レンダリング時,
Items
プロパティの要素数分,リスト項目が繰り返し表示されます.
デフォルトでは,
id
属性に
~Items
を指定した
<span>
要素または
<div>
要素の開始タグおよび終了タグはレンダリングされません. タグをレンダリングするには
te:omittag
属性に
false
を指定します.
nameItems
プロパティが
"Teeda"
,
"SAStruts"
,
"Cubby"
, を要素とする配列の場合, レンダリング結果は次のようになります.
外側の繰り返しの要素に
id
属性を付け,
ItemsItems
で終わる値 (
xxxItemsItems
) とします. 内側の繰り返しの要素に
id
属性を付け, 外側の繰り返し要素の
id
属性の値から最後の
Items
を取り除いた値 (
xxxItems
) とします.
ページクラスに外側の繰り返し要素の
id
属性と同じ名前 (
xxxItemsItems
) で, 型が配列の配列または
java.util.List
の
List
のプロパティを用意し,表示する情報を設定します.
xxxItemsItems
プロパティの要素と同じ型 (配列または
List
) で,末尾の
Items
を取り除いたプロパティ (
xxxItems
) と,その要素と同じ型で 末尾の
Items
を取り除いたプロパティ (
xxx
) を用意します.
xxx
プロパティがDtoまたは
java.util.Map
の場合は,Dtoのプロパティと同じ名前と型 (
Map
の場合はキーと同じ名前で値と同じ型) のプロパティをページクラスにも持たせます.
nameItemsItems
プロパティの値が
の場合,レンダリング結果は次のようになります.
外側の繰り返しの要素に
id
属性を付け,
Items
で終わる値 (
xxxItems
) とします. 内側の繰り返しの要素にも
id
属性を付け,
Items
で終わる値 (
yyyItems
) とします.
ページクラスに外側の繰り返し要素の
id
属性と同じ名前 (
xxxItems
) で, 型が配列または
java.util.List
のプロパティを用意します. 要素型はDtoまたは
java.util.Map
とし,内側の繰り返し要素の
id
属性と同じ名前 (
yyyItems
) で, 型が配列または
java.util.List
のプロパティ (またはキー) を用意します.
xxxItems
プロパティの要素と同じ型 (Dtoまたは
Map
) と同じ型で末尾の
Items
を取り除いたプロパティ (
xxx
) および,
yyyItems
の要素と同じ型で末尾の
Items
を取り除いたプロパティ (
yyy
) を用意します.
xxx
および
yyy
プロパティがDtoまたは
java.util.Map
の場合は,Dtoのプロパティと同じ名前と型 (
Map
の場合はキーと同じ名前で値と同じ型) のプロパティをページクラスにも持たせます.
テンプレートHTMLに,繰り返しの要素に付けた
id
属性の名前 (
xxxItems
) の末尾に
Save
を付けた
隠しフィールド
を用意します. このフィールドは, 繰り返しの要素より前に記述する必要があります.
繰り返しの中で
<input>
要素や
<textarea>
等を使うことができます.
ページクラスの繰り返し用のプロパティ (
xxxItems
) の要素型はDtoとします.
productItems
プロパティが3つの要素を持つ
List
の場合, レンダリング結果は次のようになります.
テキストフィールドに入力してフォームをサブミットすると,
productItems
の対応する要素 (
ProductDto
の
name
プロパティ) に入力した値が設定された状態で
doSubmit()
メソッドが呼び出されます.
繰り返しの中に入力項目がチェックボックス一つだけの場合,
未選択の項目がリクエストパラメータに含まれないため,
xxxItems
の要素数が正しく復元されない場合があります. そのような場合は繰り返しの中に
隠しフィールド
を含めるようにしてください.
ダイナミックプロパティ の中でインデックスを参照します.
ページクラスに,繰り返しの要素に付けた
id
属性の値 (
xxxItems
) の末尾の
Items
を
Index
に置き換えた名前 (
xxxIndex
) で, 型が
int
のプロパティを用意します.
レンダリング時,繰り返しの中で参照されるダイナミックプロパティのgetterメソッドの中で
xxxIndex
を参照することにより,現在のインデックスを得ることができます.
nameItems
プロパティが
"Teeda"
,
"SAStruts"
,
"Cubby"
, を要素とする配列の場合, レンダリング結果は次のようになります.
<tr>
要素の
class
属性には,
getRowStyleClass()
メソッドの戻り値がレンダリングされます.
getRowStyleClass()
メソッドは
nameIndex
を参照して, 奇数行なら
"odd"
,偶数行なら
"even"
を返します.
<td>
要素の表示/非表示を制御するために,
id
属性を
is
で始まる値を指定し,
rowspan
属性を指定します.
ページクラスに,繰り返しの要素に付けた
id
属性の値 (
xxxItems
) の末尾の
Items
を
Index
に置き換えた名前 (
xxxIndex
) で, 型が
int
のプロパティを用意します.
<td>
要素の
id
属性と同じ名前のメソッド
isXxx()
の中でインデックスを参照して,
<td>
要素を表示する場合は
true
,表示しない場合は
false
を返します.
<td>
要素の
rowspan
属性に対応するダイナミックプロパティのgetterメソッド
getXxxRowspan()
メソッドを用意します. メソッドの中でインデックスを参照して,
<td>
要素を表示する場合の
rowspan
属性の値を返します. このgetterメソッドは,
isXxx()
メソッドが
true
を返した場合のみ呼び出されます.