Example One:
<pre>
Generate a simple iterator
<ww:generator val="%{'aaa,bbb,ccc,ddd,eee'}">
<ww:iterator>
<ww:property /><br/>
</ww:iterator>
</ww:generator>
</pre>
This generates an iterator and print it out using the iterator tag.
Example Two:
<pre>
Generate an iterator with count attribute
<ww:generator val="%{'aaa,bbb,ccc,ddd,eee'}" count="3">
<ww:iterator>
<ww:property /><br/>
</ww:iterator>
</ww: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
Example Three:
<pre>
Generate an iterator with id attribute
<ww: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.
Example Four:
<pre>
Generate an iterator with comparator attribute
<ww:generator val="%{'aaa,bbb,ccc,ddd,eee'}" converter="%{myConverter}">
<ww:iterator>
<ww:property /><br/>
</ww:iterator>
</ww: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.