| ページ一覧 | ブログ | twitter |  書式 | 書式(表) |

MyMemoWiki

Struts2 generator

提供: MyMemoWiki
2020年2月15日 (土) 08:06時点におけるPiroto (トーク | 投稿記録)による版
ナビゲーションに移動 検索に移動

Struts2 generator タグ

テンプレート:Include html banner html, "!Struts"

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

パラメータ
タグ名 必須 デフォルト 評価 内容
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.

テンプレート:Include html banner html, "!Struts"