Struts 10章 Nestedタグライブラリ
- 10.1. Nestedタグライブラリ
- 10.2. rootタグ
- 10.3. nestタグ
10.2. rootタグ
rootタグはNestedタグライブラリのタグで、共通にアクセスするJava Beanを指定するタグです。ボディ部内にあるNestedタグライブラリのタグは、rootタグで指定したJava Beanに対して共通にアクセスできます。rootタグで指定する属性はnameのみです。
| 属性名 | 必須 | スクリプト 可能 |
説明 |
|---|---|---|---|
|
name |
○ |
Java Beanをスコープから検索するためのキー。検索されたJava Beanがボディ部で共通にアクセスする対象のJava Beanとなります。 |
続いてBean・HTML・Logicタグライブラリのタグを拡張した形で、Nestedタグライブラリで提供しているタグを以下に示します。name属性を省略できる点を除けば、他の属性は継承元のタグと同じです。
| 継承元のタグ | Nestedタグライブラリにおけるタグ | 機能 |
|---|---|---|
| <bean:define> | <nested:define> | プロパティ値を変数として定義します。 |
| <logic:empty> <logic:notEmpty> |
<nested:empty> <nested:notEmpty> |
プロパティ値がnull/空文字列/要素数0のコレクションであるかどうか判定します。 |
| <logic:equal> <logic:notEqual> <logic:greaterEqual> <logic:greaterThan> <logic:lessEqual> <logic:lessThan> |
<nested:equal> <nested:notEqual> <nested:greaterEqual> <nested:greaterThan> <nested:lessEqual> <nested:lessThan> |
プロパティ値と特定値との比較を行います。 |
| <html:link> | <nested:link> | パラメータ付きのリンクを生成する。 |
| <logic:match> <logic:notMatch> |
<nested:match> <nested:notMatch> |
プロパティ値に特定の文字列が含まれているかどうか判定します。 |
|
<logic:present> |
<nested:present> <nested:notPresent> |
プロパティ値が存在するかどうか判定します。 |
| <bean:write> | <nested:write> | プロパティ値を出力します。 |
以下はJava BeanとNestedタグライブラリを用いた例です。LogicのiterateタグとNestedのrootタグを組み合わせて使用しています。
public class SampleBean{
...
public String getText(){
return(text);
}
public int getNum(){
return(num);
}
}
...
<% SampleBean[] beans=new SampleBean[10];
beans[0]=new SampleBean();
... %>
<logic:iterate collection="<%=beans %>" id="bean">
<nested:root name="bean">
<nested:write property="text" />
<nested:write property="num" />
</nested:root>
</logic:iterate>
...
配列に登録されているSampleBeanの値が1つずつ出力されます。
(実習課題1)
以下のWebアプリケーションを作成しなさい。
- 世界各国の一覧を表示しなさい。少なくとも5つ以上の国を表示する事。またそれぞれの国に関する情報を、少なくとも3つは表示する事。
- 国の情報の管理はJava Beanで行う事。
- Nestedタグライブラリを利用する事。

