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タグライブラリを利用する事。