com.opensymphony.webwork.views.jsp.iterator
Class IteratorGeneratorTag
java.lang.Object
javax.servlet.jsp.tagext.TagSupport
javax.servlet.jsp.tagext.BodyTagSupport
com.opensymphony.webwork.views.jsp.WebWorkBodyTagSupport
com.opensymphony.webwork.views.jsp.iterator.IteratorGeneratorTag
- All Implemented Interfaces:
- Serializable, BodyTag, IterationTag, Tag
public class IteratorGeneratorTag
- extends WebWorkBodyTagSupport
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.
- val* (Object) - the source to be parsed into an iterator
- count (Object) - the max number (Integer, Float, Double, Long, String) entries to be in the iterator
- separator (String) - the separator to be used in separating the val into entries of the iterator
- id (String) - the id to store the resultant iterator into page context, if such id is supplied
- converter (Object) - the converter (must extends off IteratorGenerator.Converter interface) to convert the String entry parsed from val into an object
Example One:
Generate a simple iterator
<ww:generator val="%{'aaa,bbb,ccc,ddd,eee'}">
<ww:iterator>
<ww:property /><br/>
</ww:iterator>
</ww:generator>
This generates an iterator and print it out using the iterator tag.
Example Two:
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>
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:
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/>
<% }
%>
This generates an iterator and put it in the PageContext under the key as specified
by the id attribute.
Example Four:
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;
}
};
}
...
}
This will generate an iterator with each entries decided by the converter supplied. With
this converter, it simply add "converter-" to each entries.
- Version:
- $Revision: 1593 $
- Author:
- Rickard ???berg (rickard@dreambean.com), tm_jee ( tm_jee(at)yahoo.co.uk )
- See Also:
IteratorGenerator
,
Serialized Form
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
DEFAULT_SEPARATOR
public static final String DEFAULT_SEPARATOR
- See Also:
- Constant Field Values
IteratorGeneratorTag
public IteratorGeneratorTag()
setCount
public void setCount(String count)
setSeparator
public void setSeparator(String separator)
setVal
public void setVal(String val)
setConverter
public void setConverter(String aConverter)
setId
public void setId(String string)
- Overrides:
setId
in class WebWorkBodyTagSupport
doStartTag
public int doStartTag()
throws JspException
- Specified by:
doStartTag
in interface Tag
- Overrides:
doStartTag
in class BodyTagSupport
- Throws:
JspException
doEndTag
public int doEndTag()
throws JspException
- Specified by:
doEndTag
in interface Tag
- Overrides:
doEndTag
in class BodyTagSupport
- Throws:
JspException