Repeater Class

com.bea.wlw.netui.tags.databinding.repeater
Repeater Class

public class Repeater

    extends DataSourceTag
    implements DataAccessProvider

The <netui-data:repeater> tag is a markup-generic tag that repeats over a data set. The repeater tag set is used to render data from a data set into a page. The repeater itself does not render any markup. Instead, the markup from its contained tags is rendered to create the content generated by this tag. The tags in the repeater tag set are as follows:
TagDescription
RepeaterHeaderRenders once in the Repeater.HEADER state.
RepeaterItemRenders once in the Repeater.ITEM state.
RepeaterFooterRenders once in the Repeater.FOOTER state.
PadUsed to convert irregular data sets into regular data sets through padding or truncating the output.
ChoiceUsed to render different UI for a particular data item bsaed on the result of calling a "decision" method with the ChoiceMethod tag. This is allowed only within the RepeaterItem tag.
ChoiceMethodUsed to define the choices when rendering an item with a RepeaterItem tag. This is allowed only within the RepeaterItem tag.

The repeater can render in two modes; the first mode is a simple mode where the body of the repeater is rendered once for each item in the data set. In this case, none of the other tags above are present in the repeater body. For example, the following will render an unordered HTML list of items that are list items which contain the lastName, firstName of the current "customer" in the data set.

 <ul>
 <netui-data:repeater dataSource="{pageFlow.customers}">
     <li><netui:label value="{container.item.lastName}, {container.item.firstName}"/></li>
 </netui-data:repeater>
 </ul>
 

The second mode is a more structured mode of rendering where the tags above are used to delineate iteration boundaries on the body of a <netui-data:repeater> tag. In this case, if one of the above tags is present, any content directly in the body of the repeater is not rendered; rather, the content inside the structured tags of the repeater is rendered.

For example, the following will render the same output as the example shown above, but it uses the structured tags for rendering the {pageFlow.customers} expression:

 <netui-data:repeater dataSource="{pageFlow.customers}">
     <netui-data:repeaterHeader>
         <ul>
     </netui-data:repeaterHeader>
     <netui-data:repeaterItem>
         <li><netui:label value="{container.item.lastName}, {container.item.firstName}"/></li>
     </netui-data:repeaterItem>
     <netui-data:repeaterFooter>
         </ul>
     </netui-data:repeaterFooter>
 </netui-data:repeater>
 

Attribute Descriptions
AttributeRequiredRuntime Expression EvaluationData Bindable
defaultTextNoNoNo
The text that is rendered if the data set is null or contains zero items.
ignoreNullsNoNoNo
A boolean to set if rendering a sparse data set that can contain nulls which should be ignored.

Related Topics

<netui-data:repeater> Tag Sample
Presenting Complex Data Sets in JSPs (Repeater Tags section)
RepeaterHeader
RepeaterItem
RepeaterFooter


Hierarchy
Object
  TagSupport
    BodyTagSupport
      AbstractBaseTag
        DataSourceTag
          Repeater
All Implemented Interfaces

BodyTag, DataAccessProvider, IterationTag, Serializable, Tag

Field Summary

public static final int
END
A Repeater rendering state that signals the end of repeater rendering.
public static final int
FOOTER
A Repeater rendering state that signals the rendering of the FOOTER.
public static final int
HEADER
A Repeater rendering state that signals the rendering of the HEADER.
public static final int
INIT
A Repeater rendering state that signals the beginning of repeater rendering.
public static final int
ITEM
A Repeater rendering state that signals the rendering of the ITEM.
   
Fields from  com.bea.wlw.netui.tags.AbstractBaseTag
ATTR_GENERAL, ATTR_GENERAL_EXPRESSION, ATTR_JAVASCRIPT, ATTR_STYLE, CLASS, ID, JAVASCRIPT_STATUS, NAME, NETUI_UNIQUE_CNT, ONCLICK, ONDBLCLICK, ONKEYDOWN, ONKEYPRESS, ONKEYUP, ONMOUSEDOWN, ONMOUSEMOVE, ONMOUSEOUT, ONMOUSEOVER, ONMOUSEUP, STYLE, TABINDEX
 
Fields from  javax.servlet.jsp.tagext.BodyTagSupport
bodyContent
 
Fields from  javax.servlet.jsp.tagext.TagSupport
id, pageContext
 
Fields from interface javax.servlet.jsp.tagext.BodyTag
EVAL_BODY_BUFFERED, EVAL_BODY_TAG
 
Fields from interface javax.servlet.jsp.tagext.IterationTag
EVAL_BODY_AGAIN
 
Fields from interface javax.servlet.jsp.tagext.Tag
EVAL_BODY_INCLUDE, EVAL_PAGE, SKIP_BODY, SKIP_PAGE
 

Constructor Summary

Repeater()

 

Method Summary

public void
addContent(String content)
Add content to the content that is being buffered by this tag.
public int
doAfterBody()
public int
doEndTag()
public int
doStartTag()
public int
getCurrentIndex()
Get the index of the current iteration through the body of this tag.
public Object
getCurrentItem()
Get the item that is currently being rendered by this repeating tag.
public Object
getCurrentMetadata()
Get the metadata for the current item.
public String
getDefaultText()
Get the defaultText attribute.
public boolean
getIgnoreNulls()
Get a boolean that describes whether the repeater should ignore null items encountered while iterating over a data set.
public DataAccessProvider
getProviderParent()
Get the parent DataAccessProvider for this tag.
public int
getRenderState()
Get the current render state for the repeater.
public String
getTagName()
Get the name of this tag.
protected void
localRelease()
Reset all of the fields of this tag.
public void
registerChildTag(RepeaterComponent repeaterComponent)
public void
setDefaultText(String defaultText)
Set the text that will be rendered if the dataSource expression references a null object and the defaultText attribute is non-null.
public void
setIgnoreNulls(boolean ignoreNulls)
Set a boolean that describes whether the repeater should ignore null items encountered while iterating over a data set.
public void
setPadContext(PadContext padContext)
 
Methods from  com.bea.wlw.netui.tags.DataSourceTag
getDataSource, setDataSource
 
Methods from  com.bea.wlw.netui.tags.AbstractBaseTag
addTagIdMapping, evaluateAttributeToString, filter, filter, getJavaScriptUtils, getNearestForm, getScriptReporter, getUserLocale, localRelease, registerTagError, release, renderAttribute, rewriteName, write
 
Methods from  javax.servlet.jsp.tagext.BodyTagSupport
doInitBody, getBodyContent, getPreviousOut, release, setBodyContent
 
Methods from  javax.servlet.jsp.tagext.TagSupport
doAfterBody, doEndTag, doStartTag, findAncestorWithClass, getId, getParent, getValue, getValues, release, removeValue, setId, setPageContext, setParent, setValue
 
Methods from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
   
Methods from interface javax.servlet.jsp.tagext.BodyTag
doInitBody, setBodyContent
 
Methods from interface com.bea.wlw.netui.tags.DataAccessProvider
getCurrentIndex, getCurrentItem, getCurrentMetadata, getDataSource, getProviderParent, setDataSource
 
Methods from interface javax.servlet.jsp.tagext.IterationTag
doAfterBody
 
Methods from interface javax.servlet.jsp.tagext.Tag
doEndTag, doStartTag, getParent, release, setPageContext, setParent
 

Field Detail

END

public static final int END
A Repeater rendering state that signals the end of repeater rendering.


FOOTER

public static final int FOOTER
A Repeater rendering state that signals the rendering of the FOOTER. The body renders in the FOOTER state once.


HEADER

public static final int HEADER
A Repeater rendering state that signals the rendering of the HEADER. The body renders in the HEADER state once.


INIT

public static final int INIT
A Repeater rendering state that signals the beginning of repeater rendering.


ITEM

public static final int ITEM
A Repeater rendering state that signals the rendering of the ITEM. The body renders in the ITEM state once for each item in the data set.

 

Constructor Detail

Repeater

public Repeater()
 

Method Detail

addContent(String) Method

public void addContent(String content)
Add content to the content that is being buffered by this tag. All content written by the body of this tag is added to this buffer. The buffer is rendered at the end of the tag's lifecycle if no fatal errors have occurred during this tag's lifecycle.

Parameters

content
content that this tag should render.

doAfterBody() Method

public int doAfterBody()
Overrides
BodyTagSupport.doAfterBody()

Returns

SKIP_BODY if an error occurs or the data set has been rendered; EVAL_BODY_AGAIN otherwise

doEndTag() Method

public int doEndTag()
throws JspException
Overrides
BodyTagSupport.doEndTag()

Returns

EVAL_PAGE

Exceptions

JspException
if an error occurs that can not be reported in the page

doStartTag() Method

public int doStartTag()
throws JspException
Overrides
BodyTagSupport.doStartTag()

Returns

SKIP_BODY if an error occurs; EVAL_BODY_BUFFERED otherwise

Exceptions

JspException
if an error occurs that can not be reported in the page

getCurrentIndex() Method

public int getCurrentIndex()
Get the index of the current iteration through the body of this tag. This data can be accessed using the expression container.index on an attribute of a databindable NetUI tag that is contained within the repeating body of this tag. This expression is only valid when the dataset is being rendered.

Returns

the integer index of the current data item in the data set

Related Topics

DataAccessProvider


getCurrentItem() Method

public Object getCurrentItem()
Get the item that is currently being rendered by this repeating tag. This can be accessed using the expression expression.item on an attribute of a databindable NetUI tag that is contained within the repeating body of this tag. The expression is only valid when the dataset is being rendered.

Returns

the current item in the data set

Related Topics

DataAccessProvider


getCurrentMetadata() Method

public Object getCurrentMetadata()
Get the metadata for the current item. This method is not supported by this tag.

Returns

the current metadata or null if no metadata can be found or metadata is not supported by a DataAccessProvider implementation

Related Topics

DataAccessProvider


getDefaultText() Method

public String getDefaultText()
Get the defaultText attribute.

Returns

the default text or null if unset.

getIgnoreNulls() Method

public boolean getIgnoreNulls()
Get a boolean that describes whether the repeater should ignore null items encountered while iterating over a data set.

Returns

true if ignoring nulls; false otherwise

getProviderParent() Method

public DataAccessProvider getProviderParent()
Get the parent DataAccessProvider for this tag. If this tag is contained within a DataAccessProvider, the containing DataAccessProvider is available through the expression container.container. Any valid properties of the parent DataAccessProvider can be accessed through this expression. This method will return null if there is no parent DataAccessProvider

Returns

a containing DataAccessProvider if one exists, null otherwise.

Related Topics

DataAccessProvider


getRenderState() Method

public int getRenderState()
Get the current render state for the repeater. This tag is used by child tags to access the current location in the repeater's rendering lifecycle.

Returns

an integer that represents the current state of the grid; this is one of Repeater.INIT, Repeater.HEADER, Repeater.ITEM,Repeater.FOOTER, or Repeater.END.

getTagName() Method

public String getTagName()
Get the name of this tag. This is used to identify the type of this tag for reporting tag errors.

Overrides
AbstractBaseTag.getTagName()

Returns

a constant String representing the name of this tag.

localRelease() Method

protected void localRelease()
Reset all of the fields of this tag.

Overrides
DataSourceTag.localRelease()

registerChildTag(RepeaterComponent) Method

public void registerChildTag(RepeaterComponent repeaterComponent)

Parameters

repeaterComponent
RepeaterComponent to register with the Repeater parent

setDefaultText(String) Method

public void setDefaultText(String defaultText)
Set the text that will be rendered if the dataSource expression references a null object and the defaultText attribute is non-null.

Parameters

defaultText
the default text

setIgnoreNulls(boolean) Method

public void setIgnoreNulls(boolean ignoreNulls)
Set a boolean that describes whether the repeater should ignore null items encountered while iterating over a data set.

Parameters

ignoreNulls
whether or not to ignore nulls

setPadContext(PadContext) Method

public void setPadContext(PadContext padContext)