トップ 差分 一覧 ping ソース 検索 ヘルプ PDF RSS ログイン

Struts2 generator



目次



記事一覧

キーワード

Struts2 generator タグ

指定されたパートは存在しません。

繰り返し処理可能な文字列ソースから、イテレータを生成する。

パラメータ
タグ名 必須 デフォルト 評価 内容
count false true イテレータに含まれる最大要素数
separator true true valで両されているセパレータ
val true true 解析されるソース
converter false true 文字列valに含まれる要素を、解析し、オブジェクトに変換するコンバータ
id false true page contextに格納する結果イテレータのID。

 

1 単純な例
<pre>
Generate a simple iterator
<s:generator val="%{'aaa,bbb,ccc,ddd,eee'}">
 <s:iterator>
     <s:property /><br/>
 </s:iterator>
</s:generator>
</pre>
This generates an iterator and print it out using the iterator tag.

2 count属性を使用した例
<pre>
Generate an iterator with count attribute
<s:generator val="%{'aaa,bbb,ccc,ddd,eee'}" count="3">
 <s:iterator>
     <s:property /><br/>
 </s:iterator>
</s:generator>
</pre>
This generates an iterator, but only 3 entries will be available in the iterator
generated, namely aaa, bbb and ccc respectively because count attribute is set to 3

3 id 属性を使用した例
<pre>
Generate an iterator with id attribute
<s:generator val="%{'aaa,bbb,ccc,ddd,eee'}" count="4" separator="," id="myAtt" />
<%
 Iterator i = (Iterator) pageContext.getAttribute("myAtt");
 while(i.hasNext()) {
     String s = (String) i.next(); %>
     <%=s%> <br/>
<%    }
%>
</pre>
This generates an iterator and put it in the PageContext under the key as specified
by the id attribute.

4 comparator 属性を使用した例
<pre>
Generate an iterator with comparator attribute
<s:generator val="%{'aaa,bbb,ccc,ddd,eee'}" converter="%{myConverter}">
 <s:iterator>
     <s:property /><br/>
 </s:iterator>
</s:generator>


public class GeneratorTagAction extends ActionSupport {

  ....

  public Converter getMyConverter() {
     return new Converter() {
         public Object convert(String value) throws Exception {
             return "converter-"+value;
         }
     };
  }

  ...

}
</pre>
This will generate an iterator with each entries decided by the converter supplied. With
this converter, it simply add "converter-" to each entries.

指定されたパートは存在しません。



YAGI Hiroto (piroto@a-net.email.ne.jp)
twitter http://twitter.com/pppiroto

Copyright© 矢木 浩人 All Rights Reserved.