Apache Struts 2 Documentation > Home > Guides > Tag Developers Guide > Struts Tags > Tag Reference > Generic Tag Reference > generator
Added by digi9ten, last edited by Ted Husted on Sep 02, 2006  (view change)

Description

Content pulled from external source. Click here to refresh.

NOTE: JSP-TAG

Generate an iterator based on the val attribute supplied.

NOTE: The generated iterator will ALWAYS be pushed into the top of the stack, and poped at the end of the tag.

Parameters

An error occurred: https://svn.apache.org/repos/asf/struts/struts2/trunk/docs/tags/iterator/IteratorGeneratorTag.html. The system administrator has been notified.

Examples

Content pulled from external source. Click here to refresh.
Example One:
<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.

Example Two:
<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

Example Three:
<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.


Example Four:
<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.