org.apache.struts2.views.jsp.iterator
Class IteratorGeneratorTag

java.lang.Object
  extended by javax.servlet.jsp.tagext.TagSupport
      extended by javax.servlet.jsp.tagext.BodyTagSupport
          extended by org.apache.struts2.views.jsp.StrutsBodyTagSupport
              extended by org.apache.struts2.views.jsp.iterator.IteratorGeneratorTag
All Implemented Interfaces:
java.io.Serializable, javax.servlet.jsp.tagext.BodyTag, javax.servlet.jsp.tagext.IterationTag, javax.servlet.jsp.tagext.JspTag, javax.servlet.jsp.tagext.Tag

public class IteratorGeneratorTag
extends StrutsBodyTagSupport

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

See Also:
IteratorGenerator, Serialized Form

Field Summary
static java.lang.String DEFAULT_SEPARATOR
           
 
Fields inherited from class javax.servlet.jsp.tagext.BodyTagSupport
bodyContent
 
Fields inherited from class javax.servlet.jsp.tagext.TagSupport
id, pageContext
 
Fields inherited from interface javax.servlet.jsp.tagext.BodyTag
EVAL_BODY_BUFFERED, EVAL_BODY_TAG
 
Fields inherited from interface javax.servlet.jsp.tagext.IterationTag
EVAL_BODY_AGAIN
 
Fields inherited from interface javax.servlet.jsp.tagext.Tag
EVAL_BODY_INCLUDE, EVAL_PAGE, SKIP_BODY, SKIP_PAGE
 
Constructor Summary
IteratorGeneratorTag()
           
 
Method Summary
 int doEndTag()
           
 int doStartTag()
           
 void setConverter(java.lang.String aConverter)
           
 void setCount(java.lang.String count)
           
 void setId(java.lang.String string)
           
 void setSeparator(java.lang.String separator)
           
 void setVal(java.lang.String val)
           
 void setVar(java.lang.String var)
           
 
Methods inherited from class org.apache.struts2.views.jsp.StrutsBodyTagSupport
findString, findValue, findValue, getBody, getStack, toString
 
Methods inherited from class javax.servlet.jsp.tagext.BodyTagSupport
doAfterBody, doInitBody, getBodyContent, getPreviousOut, release, setBodyContent
 
Methods inherited from class javax.servlet.jsp.tagext.TagSupport
findAncestorWithClass, getId, getParent, getValue, getValues, removeValue, setPageContext, setParent, setValue
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface javax.servlet.jsp.tagext.Tag
getParent, setPageContext, setParent
 

Field Detail

DEFAULT_SEPARATOR

public static final java.lang.String DEFAULT_SEPARATOR
See Also:
Constant Field Values
Constructor Detail

IteratorGeneratorTag

public IteratorGeneratorTag()
Method Detail

setCount

public void setCount(java.lang.String count)

setSeparator

public void setSeparator(java.lang.String separator)

setVal

public void setVal(java.lang.String val)

setConverter

public void setConverter(java.lang.String aConverter)

setId

public void setId(java.lang.String string)
Overrides:
setId in class javax.servlet.jsp.tagext.TagSupport

setVar

public void setVar(java.lang.String var)

doStartTag

public int doStartTag()
               throws javax.servlet.jsp.JspException
Specified by:
doStartTag in interface javax.servlet.jsp.tagext.Tag
Overrides:
doStartTag in class javax.servlet.jsp.tagext.BodyTagSupport
Throws:
javax.servlet.jsp.JspException

doEndTag

public int doEndTag()
             throws javax.servlet.jsp.JspException
Specified by:
doEndTag in interface javax.servlet.jsp.tagext.Tag
Overrides:
doEndTag in class javax.servlet.jsp.tagext.BodyTagSupport
Throws:
javax.servlet.jsp.JspException


Copyright © 2000-2011 Apache Software Foundation. All Rights Reserved.