org.apache.struts.taglib.html

Class OptionsTag

Known Direct Subclasses:
NestedOptionsTag

public class OptionsTag
extends TagSupport

Tag for creating multiple <select> options from a collection. The associated values displayed to the user may optionally be specified by a second collection, or will be the same as the values themselves. Each collection may be an array of objects, a Collection, an Enumeration, an Iterator, or a Map. NOTE - This tag requires a Java2 (JDK 1.2 or later) platform.

Field Summary

protected String
collection
The name of the collection containing beans that have properties to provide both the values and the labels (identified by the property and labelProperty attributes).
protected boolean
filter
Should the label values be filtered for HTML sensitive characters?
protected String
labelName
The name of the bean containing the labels collection.
protected String
labelProperty
The bean property containing the labels collection.
protected static MessageResources
messages
The message resources for this package.
protected String
name
The name of the bean containing the values collection.
protected String
property
The name of the property to use to build the values collection.
private String
style
The style associated with this tag.
private String
styleClass
The named style class associated with this tag.

Method Summary

protected void
addOption(StringBuffer sb, String value, String label, boolean matched)
Add an option element to the specified StringBuffer based on the specified parameters.
int
doEndTag()
Process the end of this tag.
int
doStartTag()
Process the start of this tag.
String
getCollection()
boolean
getFilter()
protected Iterator
getIterator(String name, String property)
Return an iterator for the option labels or values, based on our configured properties.
String
getLabelName()
String
getLabelProperty()
String
getName()
String
getProperty()
String
getStyle()
String
getStyleClass()
void
release()
Release any acquired resources.
void
setCollection(String collection)
void
setFilter(boolean filter)
void
setLabelName(String labelName)
void
setLabelProperty(String labelProperty)
void
setName(String name)
void
setProperty(String property)
void
setStyle(String style)
void
setStyleClass(String styleClass)

Field Details

collection

protected String collection
The name of the collection containing beans that have properties to provide both the values and the labels (identified by the property and labelProperty attributes).

filter

protected boolean filter
Should the label values be filtered for HTML sensitive characters?

labelName

protected String labelName
The name of the bean containing the labels collection.

labelProperty

protected String labelProperty
The bean property containing the labels collection.

messages

protected static MessageResources messages
The message resources for this package.

name

protected String name
The name of the bean containing the values collection.

property

protected String property
The name of the property to use to build the values collection.

style

private String style
The style associated with this tag.

styleClass

private String styleClass
The named style class associated with this tag.

Method Details

addOption

protected void addOption(StringBuffer sb,
                         String value,
                         String label,
                         boolean matched)
Add an option element to the specified StringBuffer based on the specified parameters.

Note that this tag specifically does not support the styleId tag attribute, which causes the HTML id attribute to be emitted. This is because the HTML specification states that all "id" attributes in a document have to be unique. This tag will likely generate more than one option element element, but it cannot use the same id value. It's conceivable some sort of mechanism to supply an array of id values could be devised, but that doesn't seem to be worth the trouble.

Parameters:
sb - StringBuffer accumulating our results
value - Value to be returned to the server for this option
label - Value to be shown to the user for this option
matched - Should this value be marked as selected?

doEndTag

public int doEndTag()
            throws JspException
Process the end of this tag.

doStartTag

public int doStartTag()
            throws JspException
Process the start of this tag.

getCollection

public String getCollection()

getFilter

public boolean getFilter()

getIterator

protected Iterator getIterator(String name,
                               String property)
            throws JspException
Return an iterator for the option labels or values, based on our configured properties.
Parameters:
name - Name of the bean attribute (if any)
property - Name of the bean property (if any)

getLabelName

public String getLabelName()

getLabelProperty

public String getLabelProperty()

getName

public String getName()

getProperty

public String getProperty()

getStyle

public String getStyle()

getStyleClass

public String getStyleClass()

release

public void release()
Release any acquired resources.

setCollection

public void setCollection(String collection)

setFilter

public void setFilter(boolean filter)

setLabelName

public void setLabelName(String labelName)

setLabelProperty

public void setLabelProperty(String labelProperty)

setName

public void setName(String name)

setProperty

public void setProperty(String property)

setStyle

public void setStyle(String style)

setStyleClass

public void setStyleClass(String styleClass)

Copyright B) 2000-2007 - The Apache Software Foundation