org.apache.taglibs.standard.tag.common.core
Class ForEachSupport

java.lang.Object
  extended by javax.servlet.jsp.tagext.TagSupport
      extended by javax.servlet.jsp.jstl.core.LoopTagSupport
          extended by org.apache.taglibs.standard.tag.common.core.ForEachSupport
All Implemented Interfaces:
Serializable, javax.servlet.jsp.jstl.core.LoopTag, javax.servlet.jsp.tagext.IterationTag, javax.servlet.jsp.tagext.JspTag, javax.servlet.jsp.tagext.Tag, javax.servlet.jsp.tagext.TryCatchFinally
Direct Known Subclasses:
ForEachTag

public abstract class ForEachSupport
extends javax.servlet.jsp.jstl.core.LoopTagSupport

Support for tag handlers for <forEach>, the core iteration tag in JSTL 1.0. This class extends LoopTagSupport and provides ForEach-specific functionality. The rtexprvalue library and the expression-evaluating library each have handlers that extend this class.

Localized here is the logic for handling the veritable smorgasbord of types supported by <forEach>, including arrays, Collections, and others. To see how the actual iteration is controlled, review the javax.servlet.jsp.jstl.core.LoopTagSupport class instead.

Author:
Shawn Bayern
See Also:
LoopTagSupport, Serialized Form

Field Summary
protected  Iterator items
           
protected  Object rawItems
           
 
Fields inherited from class javax.servlet.jsp.jstl.core.LoopTagSupport
begin, beginSpecified, deferredExpression, end, endSpecified, itemId, statusId, step, stepSpecified
 
Fields inherited from class javax.servlet.jsp.tagext.TagSupport
id, pageContext
 
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
ForEachSupport()
           
 
Method Summary
protected  boolean hasNext()
           
protected  Object next()
           
protected  void prepare()
           
 void release()
           
 
Methods inherited from class javax.servlet.jsp.jstl.core.LoopTagSupport
doAfterBody, doCatch, doFinally, doStartTag, getCurrent, getDelims, getLoopStatus, setVar, setVarStatus, validateBegin, validateEnd, validateStep
 
Methods inherited from class javax.servlet.jsp.tagext.TagSupport
doEndTag, findAncestorWithClass, getId, getParent, getValue, getValues, removeValue, setId, 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
doEndTag, getParent, setPageContext, setParent
 

Field Detail

items

protected Iterator items

rawItems

protected Object rawItems
Constructor Detail

ForEachSupport

public ForEachSupport()
Method Detail

prepare

protected void prepare()
                throws javax.servlet.jsp.JspTagException
Specified by:
prepare in class javax.servlet.jsp.jstl.core.LoopTagSupport
Throws:
javax.servlet.jsp.JspTagException

hasNext

protected boolean hasNext()
                   throws javax.servlet.jsp.JspTagException
Specified by:
hasNext in class javax.servlet.jsp.jstl.core.LoopTagSupport
Throws:
javax.servlet.jsp.JspTagException

next

protected Object next()
               throws javax.servlet.jsp.JspTagException
Specified by:
next in class javax.servlet.jsp.jstl.core.LoopTagSupport
Throws:
javax.servlet.jsp.JspTagException

release

public void release()
Specified by:
release in interface javax.servlet.jsp.tagext.Tag
Overrides:
release in class javax.servlet.jsp.jstl.core.LoopTagSupport


Copyright © 2001-2015 The Apache Software Foundation. All Rights Reserved.