public class IteratorGeneratorTag extends StrutsBodyTagSupport
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.
Generate a simple iterator
<s:generator val="%{'aaa,bbb,ccc,ddd,eee'}">
<s:iterator>
<s:property /><br/>
</s:iterator>
</s:generator>
This generates an iterator and print it out using the iterator tag.
Example Two:
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>
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 var attribute
<s:generator val="%{'aaa,bbb,ccc,ddd,eee'}" count="4" separator="," var="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 var attribute.
Example Four:
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;
}
};
}
...
}
This will generate an iterator with each entries decided by the converter supplied. With
this converter, it simply add "converter-" to each entries.
IteratorGenerator,
Serialized Form| Modifier and Type | Field and Description |
|---|---|
static String |
DEFAULT_SEPARATOR |
| Constructor and Description |
|---|
IteratorGeneratorTag() |
| Modifier and Type | Method and Description |
|---|---|
int |
doEndTag() |
int |
doStartTag() |
void |
setConverter(String aConverter) |
void |
setCount(String count) |
void |
setSeparator(String separator)
@s.tagattribute required="true" type="String"
description="the separator to be used in separating the val into entries of the iterator"
|
void |
setVal(String val)
@s.tagattribute required="true"
description="the source to be parsed into an iterator"
|
void |
setVar(String var) |
findString, findValue, findValue, getBody, getStack, toStringdoAfterBody, doInitBody, getBodyContent, getPreviousOut, release, setBodyContentfindAncestorWithClass, getId, getParent, getValue, getValues, removeValue, setId, setPageContext, setParent, setValuepublic static final String DEFAULT_SEPARATOR
public void setCount(String count)
public void setSeparator(String separator)
separator - the seperatorpublic void setVal(String val)
val - the valuepublic void setConverter(String aConverter)
public void setVar(String var)
public int doStartTag()
throws javax.servlet.jsp.JspException
doStartTag in interface javax.servlet.jsp.tagext.TagdoStartTag in class javax.servlet.jsp.tagext.BodyTagSupportjavax.servlet.jsp.JspExceptionpublic int doEndTag()
throws javax.servlet.jsp.JspException
doEndTag in interface javax.servlet.jsp.tagext.TagdoEndTag in class javax.servlet.jsp.tagext.BodyTagSupportjavax.servlet.jsp.JspExceptionCopyright © 2000–2021 Apache Software Foundation. All rights reserved.