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:
Serializable, BodyTag, IterationTag, JspTag, 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 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/>
 <%    }
 %>
 
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
 <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
private static Log _log
           
(package private)  String converterAttr
           
(package private)  String countAttr
           
static String DEFAULT_SEPARATOR
           
(package private)  IteratorGenerator iteratorGenerator
           
(package private)  String separatorAttr
           
private static long serialVersionUID
           
(package private)  String valueAttr
           
 
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(String aConverter)
           
 void setCount(String count)
           
 void setId(String string)
           
 void setSeparator(String separator)
           
 void setVal(String val)
           
 
Methods inherited from class org.apache.struts2.views.jsp.StrutsBodyTagSupport
altSyntax, findString, findValue, findValue, getBody, getStack, toString, translateVariables
 
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

serialVersionUID

private static final long serialVersionUID
See Also:
Constant Field Values

DEFAULT_SEPARATOR

public static final String DEFAULT_SEPARATOR
See Also:
Constant Field Values

_log

private static final Log _log

countAttr

String countAttr

separatorAttr

String separatorAttr

valueAttr

String valueAttr

converterAttr

String converterAttr

iteratorGenerator

IteratorGenerator iteratorGenerator
Constructor Detail

IteratorGeneratorTag

public IteratorGeneratorTag()
Method Detail

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 StrutsBodyTagSupport

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


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