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 FormModifier 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, toString
doAfterBody, doInitBody, getBodyContent, getPreviousOut, release, setBodyContent
findAncestorWithClass, getId, getParent, getValue, getValues, removeValue, setId, setPageContext, setParent, setValue
public 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.Tag
doStartTag
in class javax.servlet.jsp.tagext.BodyTagSupport
javax.servlet.jsp.JspException
public int doEndTag() throws javax.servlet.jsp.JspException
doEndTag
in interface javax.servlet.jsp.tagext.Tag
doEndTag
in class javax.servlet.jsp.tagext.BodyTagSupport
javax.servlet.jsp.JspException
Copyright © 2000–2020 Apache Software Foundation. All rights reserved.