org.apache.struts.taglib.html
Class OptionsCollectionTag

java.lang.Object
  extended by javax.servlet.jsp.tagext.TagSupport
      extended by org.apache.struts.taglib.html.OptionsCollectionTag
All Implemented Interfaces:
Serializable, IterationTag, Tag
Direct Known Subclasses:
ELOptionsCollectionTag, NestedOptionsCollectionTag

public class OptionsCollectionTag
extends TagSupport

Tag for creating multiple <select> options from a collection. The collection may be part of the enclosing form, or may be independent of the form. Each element of the collection must expose a 'label' and a 'value', the property names of which are configurable by attributes of this tag.

The 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.

Since:
Struts 1.1
Version:
$Rev: 471754 $ $Date: 2004-11-03 14:20:47 -0500 (Wed, 03 Nov 2004) $
See Also:
Serialized Form

Field Summary
protected  boolean filter
          Should the label values be filtered for HTML sensitive characters?
protected  String label
          The name of the bean property containing the label.
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.
protected  String value
          The name of the bean property containing the value.
 
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
OptionsCollectionTag()
           
 
Method Summary
protected  void addOption(StringBuffer sb, String label, String value, boolean matched)
          Add an option element to the specified StringBuffer based on the specified parameters.
 int doStartTag()
          Process the start of this tag.
 boolean getFilter()
           
protected  Iterator getIterator(Object collection)
          Return an iterator for the options collection.
 String getLabel()
           
 String getName()
           
 String getProperty()
           
 String getStyle()
           
 String getStyleClass()
           
 String getValue()
           
 void release()
          Release any acquired resources.
 void setFilter(boolean filter)
           
 void setLabel(String label)
           
 void setName(String name)
           
 void setProperty(String property)
           
 void setStyle(String style)
           
 void setStyleClass(String styleClass)
           
 void setValue(String value)
           
 
Methods inherited from class javax.servlet.jsp.tagext.TagSupport
doAfterBody, 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
 

Field Detail

messages

protected static MessageResources messages
The message resources for this package.


filter

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


label

protected String label
The name of the bean property containing the label.


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.


value

protected String value
The name of the bean property containing the value.

Constructor Detail

OptionsCollectionTag

public OptionsCollectionTag()
Method Detail

getFilter

public boolean getFilter()

setFilter

public void setFilter(boolean filter)

getLabel

public String getLabel()

setLabel

public void setLabel(String label)

getName

public String getName()

setName

public void setName(String name)

getProperty

public String getProperty()

setProperty

public void setProperty(String property)

getStyle

public String getStyle()

setStyle

public void setStyle(String style)

getStyleClass

public String getStyleClass()

setStyleClass

public void setStyleClass(String styleClass)

getValue

public String getValue()

setValue

public void setValue(String value)

doStartTag

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

Specified by:
doStartTag in interface Tag
Overrides:
doStartTag in class TagSupport
Throws:
JspException - if a JSP exception has occurred

release

public void release()
Release any acquired resources.

Specified by:
release in interface Tag
Overrides:
release in class TagSupport

addOption

protected void addOption(StringBuffer sb,
                         String label,
                         String value,
                         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?

getIterator

protected Iterator getIterator(Object collection)
                        throws JspException
Return an iterator for the options collection.

Parameters:
collection - Collection to be iterated over
Throws:
JspException - if an error occurs


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