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

Struts2 generator



目次



記事一覧
<<outlineプラグインは存在しません。>>
<<searchプラグインは存在しません。>>

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.