Struts 9章 Logicタグライブラリ2
9.2. emptyタグ/notEmptyタグ
emptyタグ/notEmptyタグは、特定のJava BeanまたはJava Beanのプロパティ値が
- null
- 空文字列
- 要素数0のコレクション
であるかどうか判定するタグです。属性は以下の3つです。
属性名 | 必須 | スクリプト 可能 |
説明 |
---|---|---|---|
name |
○ |
Java Beanをスコープから検索するためのキー。property属性が省略された場合には、この値で検索されたJava Beanが比較対象となります。 |
|
property |
○ | 比較対象となるJava Beanのプロパティ。 | |
scope | ○ | Java Beanが存在するスコープを指定。指定しなかった場合は、全てのスコープから検索されます。 |
emptyタグはJava Beanまたはそのプロパティ値がnull/空文字列/要素数0のコレクションだった場合にボディ部を実行し、notEmptyタグはそうでなかった場合に実行します。以下のJava Beanを用いて、empty/notEmptyタグを試します。
public class SampleBean{ ... public String getString(){ return(null); } public List getList(){ return(new LinkedList()); } public int getNumber(){ return(123); } ... }
... <jsp:useBean id="bean" class="SampleBean" /> <logic:empty name="bean" property="string"> string is null </logic:empty><br> <logic:empty name="bean" property="list"> list is null </logic:empty><br> <logic:notEmpty name="bean" property="number"> number is not null </logic:notEmpty> ...
いずれのタグにおいても条件は「真」となりますので、以下のように出力されます。
... string is null <br> list is null <br> number is not null <br> ...
empty/notEmptyタグもmath/notMatchタグと同じく、比較対象の値が存在する事を前提にしています。存在するかどうかの判定には、次に説明するpresent/notPresentタグを利用します。