de.ix.jspTutorial.taglib
Class ForEachTag

java.lang.Object
  |
  +--javax.servlet.jsp.tagext.TagSupport
        |
        +--javax.servlet.jsp.tagext.BodyTagSupport
              |
              +--de.ix.jspTutorial.taglib.ForEachTag

public class ForEachTag
extends javax.servlet.jsp.tagext.BodyTagSupport

Iteration über eine Liste von Objekten mit der Ausgabe des Body's Beispiel der Verwendung:

<%@ taglib uri="/ixtaglib" prefix="jsptut" %> <%@ page import="java.util.*" %> ... <% Vector theVector = new Vector() ; theVector.addElement("Hello" ); theVector.addElement("World" ); %> <jsptut:foreach item="element" list="<%= theVector.elements() %>" > <%= element %> </jsptut:foreach> ...

Version:
$Id:$
Author:
Peter Rossbach (pr@webapp.de)
See Also:
Serialized Form

Field Summary
private  int index
          Index des nächsten Elements in einem Object Array
private  java.lang.String myItem
          Key im PageContext
private  java.lang.Object myList
          Objekt das auf eine Liste andere Objekt verweist Unterstütze typen sind Enumeration,Iteration,Object[],ResultSet
private  java.lang.reflect.Method myMethod
          Speichern der Eval Method für schnellere Ausführung
static java.lang.String vcid
          Source-Version
 
Fields inherited from class javax.servlet.jsp.tagext.BodyTagSupport
bodyContent
 
Fields inherited from class javax.servlet.jsp.tagext.TagSupport
id, pageContext, parent, values
 
Constructor Summary
ForEachTag()
          Konstruktion eines leer Tag die eigentliche Initialisierng finde in doInifBodyTag statt.
 
Method Summary
 int doAfterBody()
          Es wird die Evaluation des Body auf Basis des ersten Elements in der For Schleife gestartet.
 int doEndTag()
          Ausgabe des aktuellen Body Content.
 void doInitBody()
          Initialisierung des Bodys
 int doStartTag()
          Starte Ausführung des ForEach tags.
 int eval()
          Finde zu dem Objekttyp in dem Attribute myList die Eval Methode.
 int eval(java.util.Enumeration aEnum)
          Auswahl des nächsten Elements der Enumeration.
 int eval(java.util.Iterator aIterator)
          Auswahl des nächsten Elements der Iterators.
 int eval(java.lang.Object[] aArray)
          Auswahl des nächsten Elements der Enumeration.
 int eval(java.sql.ResultSet aResultset)
          Auswahl des nächsten Elements der ResultSet.
 java.lang.String getItem()
          Hote Namen der Variablen.
 java.lang.Object getList()
           
 void release()
          Zurücksetzen aller notwendigen init Werte damit diese Instanz wiederverwertet werden kann.
 void setItem(java.lang.String aItem)
          Setze Name der Variablen in der JSP.
protected  void setItemAttribute(java.lang.Object aObject)
          Set Object to PageContext
 void setList(java.lang.Object obj)
          setze Collection Objekt
 void setList(java.lang.Object[] aobj)
          setze Collection Objekt
 
Methods inherited from class javax.servlet.jsp.tagext.BodyTagSupport
getBodyContent, getPreviousOut, setBodyContent
 
Methods inherited from class javax.servlet.jsp.tagext.TagSupport
findAncestorWithClass, getId, getParent, getValue, getValues, removeValue, setId, setPageContext, setParent, setValue
 
Methods inherited from class java.lang.Object
, clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, toString, wait, wait, wait
 

Field Detail

vcid

public static java.lang.String vcid
Source-Version

myItem

private java.lang.String myItem
Key im PageContext

myList

private java.lang.Object myList
Objekt das auf eine Liste andere Objekt verweist Unterstütze typen sind Enumeration,Iteration,Object[],ResultSet

index

private int index
Index des nächsten Elements in einem Object Array

myMethod

private java.lang.reflect.Method myMethod
Speichern der Eval Method für schnellere Ausführung
Constructor Detail

ForEachTag

public ForEachTag()
Konstruktion eines leer Tag die eigentliche Initialisierng finde in doInifBodyTag statt.
Method Detail

doInitBody

public void doInitBody()
                throws javax.servlet.jsp.JspTagException
Initialisierung des Bodys
Overrides:
doInitBody in class javax.servlet.jsp.tagext.BodyTagSupport

doAfterBody

public int doAfterBody()
                throws javax.servlet.jsp.JspTagException
Es wird die Evaluation des Body auf Basis des ersten Elements in der For Schleife gestartet.
Overrides:
doAfterBody in class javax.servlet.jsp.tagext.BodyTagSupport
See Also:
doStartTag()

doEndTag

public int doEndTag()
             throws javax.servlet.jsp.JspTagException
Ausgabe des aktuellen Body Content. Es werden alle Ressourcen nun wieder feigegeben
Overrides:
doEndTag in class javax.servlet.jsp.tagext.BodyTagSupport
Throws:
javax.servlet.jsp.JspTagException -  

eval

public int eval(java.util.Enumeration aEnum)
         throws javax.servlet.jsp.JspTagException
Auswahl des nächsten Elements der Enumeration. Falls es noch Element gibt wird das Element im Attribute myItem hintelegt und der Body des Tags wird zur Ausführung gebracht. Wenn kein Element mehr vorhanden wird die Ausgabe des Body`s gestoppt. Das Attribute myItem wird durch die Methode doEndTag aus dem Pagecontext gelöscht.
Parameters:
aEnum -  
Returns:
EVAL_BODY_TAG mind. ein Element noch vorhanden) oder SKIP_BODY (kein Element mehr vorhanden)
Throws:
javax.servlet.jsp.JspTagException -  

eval

public int eval(java.util.Iterator aIterator)
         throws javax.servlet.jsp.JspTagException
Auswahl des nächsten Elements der Iterators. Falls es noch Element gibt wird das Element im Attribute myItem hintelegt und der Body des Tags wird zur Ausführung gebracht. Wenn kein Element mehr vorhanden wird die Ausgabe des Body`s gestoppt. Das Attribute myItem wird durch die Methode doEndTag aus dem Pagecontext gelöscht.
Parameters:
aIterator - Iterator einer Collection (Java 2 )
Returns:
EVAL_BODY_TAG mind. ein Element noch vorhanden) oder SKIP_BODY (kein Element mehr vorhanden)
Throws:
javax.servlet.jsp.JspTagException -  

eval

public int eval(java.lang.Object[] aArray)
         throws javax.servlet.jsp.JspTagException
Auswahl des nächsten Elements der Enumeration. Falls es noch Element gibt wird das Element im Attribute myItem hintelegt und der Body des Tags wird zur Ausführung gebracht. Wenn kein Element mehr vorhanden wird die Ausgabe des Body`s gestoppt. Das Attribute myItem wird durch die Methode doEndTag aus dem Pagecontext gelöscht.
Parameters:
aArray - Ein Arry von Objekten
Returns:
EVAL_BODY_TAG mind. ein Element noch vorhanden) oder SKIP_BODY (kein Element mehr vorhanden)
Throws:
javax.servlet.jsp.JspTagException -  

setItemAttribute

protected void setItemAttribute(java.lang.Object aObject)
Set Object to PageContext
Parameters:
aObject - new value

eval

public int eval(java.sql.ResultSet aResultset)
         throws javax.servlet.jsp.JspTagException
Auswahl des nächsten Elements der ResultSet. Das nächste Element kann nun aus dem ResultSet gelesen werden.
Parameters:
aResultset - Ein JDBC ResultSet
Returns:
EVAL_BODY_TAG mind. ein Element noch vorhanden) oder SKIP_BODY (kein Element mehr vorhanden)
Throws:
javax.servlet.jsp.JspTagException -  

eval

public int eval()
         throws javax.servlet.jsp.JspTagException
Finde zu dem Objekttyp in dem Attribute myList die Eval Methode. Eine Subklasse kann einfach weitere evel(typ) realisieren um die bestehenden Typen zu erweitern.
Returns:
EVAL_BODY_TAG mind. ein Element noch vorhanden) oder SKIP_BODY (kein Element mehr vorhanden)
Throws:
javax.servlet.jsp.JspTagException -  

doStartTag

public int doStartTag()
               throws javax.servlet.jsp.JspTagException
Starte Ausführung des ForEach tags. Es muß ein Objekt de.ix.jspTutorial.taglib vorliegen damit es zur Ausführung kommt.
Overrides:
doStartTag in class javax.servlet.jsp.tagext.BodyTagSupport
Throws:
javax.servlet.jsp.JspTagException -  
See Also:
eval()

release

public void release()
Zurücksetzen aller notwendigen init Werte damit diese Instanz wiederverwertet werden kann.
Overrides:
release in class javax.servlet.jsp.tagext.BodyTagSupport

setList

public void setList(java.lang.Object obj)
setze Collection Objekt
Parameters:
obj - neue Liste

setList

public void setList(java.lang.Object[] aobj)
setze Collection Objekt
Parameters:
obj - neue Liste als Array

getList

public java.lang.Object getList()

setItem

public void setItem(java.lang.String aItem)
Setze Name der Variablen in der JSP.
Parameters:
aItem - Name der Variablen

getItem

public java.lang.String getItem()
Hote Namen der Variablen.
Returns:
Name der JSP Variablen


~ Das iX JSP Tutorial III - © 2000 by Peter Roßbach ~