2,528 バイト追加
、 2020年2月15日 (土) 07:36
==Struts2 generator タグ==
{{include_html banner_html, "!Struts"}}
繰り返し処理可能な文字列ソースから、イテレータを生成する。
=====パラメータ=====
{|class="wikitable"
!タグ名
!必須
!デフォルト
!評価
!型
!内容
|-
|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"}}