Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

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

    java.lang.Object
      javax.servlet.jsp.tagext.TagSupport
          javax.servlet.jsp.tagext.BodyTagSupport
              org.apache.struts2.views.jsp.StrutsBodyTagSupport
                  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.

- 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
     <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`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

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