トップ 一覧 ping 検索 ヘルプ RSS ログイン

Struts2 generatorの変更点

  • 追加された行はこのように表示されます。
  • 削除された行はこのように表示されます。
!!!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"}}