PGBox
P
G
Box

bean sizeタグ

beanタグのメニューへ戻る



使用した環境
JDK 6 Update 11
struts 1.3.10

配列の長さやリストのサイズを取得し、指定されたページスコープにセットします。


属性必須意味
id取得した配列やリストのサイズをセットする名前を指定する。
nameサイズを取得する対象のbeanの名前を指定する。
propertyサイズを取得する対象のbeanのプロパティの名前を指定する。
scopeサイズを取得する対象のbeanを取得するスコープを指定する。page・request・session・applicationのいずれかを指定。省略時は自動的にbeanが存在するスコープが検索される。
collectionサイズを取得する対象の配列やコレクションを、スクリプトレットやEL式で直接指定する。




例えば、Formが以下のように定義されており
public class SampleForm extends ActionForm {

    private String[] array;
    
    private List<String> list;
    
    ※ 以下、setter, getter
}


Actionでは以下のように処理したとします。
@Override
public ActionForward execute(ActionMapping mapping, ActionForm form0, ...
    SampleForm form = (SampleForm) form0;
    
    String[] array = new String[]{"a", "b", "c"};
    form.setArray(array);
    
    List<String> list = new ArrayList<String>();
    list.add("A");
    list.add("B");
    list.add("C");
    list.add("D");
    list.add("E");
    form.setList(list);
    
    return mapping.findForward("success");
}


JSPでアクションでセットされた配列とリストのサイズを表示してみます。
<bean:size id="arrayLength" name="SampleForm" property="array" />
<bean:size id="listSize" name="SampleForm" property="list" />

arrayの配列長:<bean:write name="arrayLength" /><br />
listのサイズ:<bean:write name="listSize" /><br />


結果は以下のようになります。
arrayの配列長:3
listのサイズ:5



以下のように、EL式を指定して直接値を指定する事も可能です。
<bean:size id="arrayLength" collection="${SampleForm.array}" />
<bean:size id="listSize" collection="${SampleForm.list}" />

arrayの配列長:<bean:write name="arrayLength" /><br />
listのサイズ:<bean:write name="listSize" /><br />






beanタグのメニューへ戻る