org.apache.struts2.components
Class Select

java.lang.Object
  extended by org.apache.struts2.components.Component
      extended by org.apache.struts2.components.UIBean
          extended by org.apache.struts2.components.ListUIBean
              extended by org.apache.struts2.components.Select
Direct Known Subclasses:
UpDownSelect

public class Select
extends ListUIBean

Render an HTML input tag of type select.

Examples

 
 
 <s:select label="Pets"
        name="petIds"
        list="petDao.pets"
        listKey="id"
        listValue="name"
        multiple="true"
        size="3"
        required="true"
 />

 <s:select label="Months"
        name="months"
        headerKey="-1" headerValue="Select Month"
        list="#{'01':'Jan', '02':'Feb', [...]}"
        value="selectedMonth"
        required="true"
 />

 // The month id (01, 02, ...) returned by the getSelectedMonth() call
 // against the stack will be auto-selected
 
 
 

Note: For any of the tags that use lists (select probably being the most ubiquitous), which uses the OGNL list notation (see the "months" example above), it should be noted that the map key created (in the months example, the '01', '02', etc.) is typed. '1' is a char, '01' is a String, "1" is a String. This is important since if the value returned by your "value" attribute is NOT the same type as the key in the "list" attribute, they WILL NOT MATCH, even though their String values may be equivalent. If they don't match, nothing in your list will be auto-selected.


Field Summary
protected  java.lang.String emptyOption
           
protected  java.lang.String headerKey
           
protected  java.lang.String headerValue
           
protected  java.lang.String multiple
           
protected  java.lang.String size
           
static java.lang.String TEMPLATE
           
 
Fields inherited from class org.apache.struts2.components.ListUIBean
list, listKey, listValue, throwExceptionOnNullValueAttribute
 
Fields inherited from class org.apache.struts2.components.UIBean
accesskey, cssClass, cssStyle, disabled, label, labelPosition, name, onblur, onchange, onclick, ondblclick, onfocus, onkeydown, onkeypress, onkeyup, onmousedown, onmousemove, onmouseout, onmouseover, onmouseup, onselect, request, required, requiredposition, response, tabindex, template, templateDir, templateSuffix, theme, title, tooltip, tooltipConfig, value
 
Fields inherited from class org.apache.struts2.components.Component
COMPONENT_STACK, id, parameters, stack
 
Constructor Summary
Select(com.opensymphony.xwork2.util.OgnlValueStack stack, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
           
 
Method Summary
 void evaluateExtraParams()
           
protected  java.lang.String getDefaultTemplate()
          A contract that requires each concrete UI Tag to specify which template should be used as a default.
 void setEmptyOption(java.lang.String emptyOption)
          Whether or not to add an empty (--) option after the header option
 void setHeaderKey(java.lang.String headerKey)
          Key for first item in list.
 void setHeaderValue(java.lang.String headerValue)
          Value expression for first item in list
 void setMultiple(java.lang.String multiple)
          Creates a multiple select.
 void setSize(java.lang.String size)
          Size of the element box (# of elements to show)
 
Methods inherited from class org.apache.struts2.components.ListUIBean
contains, getValueClassType, setList, setListKey, setListValue, setThrowExceptionOnNullValueAttribute
 
Methods inherited from class org.apache.struts2.components.UIBean
addFormParameter, buildTemplateName, enableAncestorFormCustomOnsubmit, end, escape, evaluateNameValue, evaluateParams, getTemplate, getTemplateDir, getTheme, getTooltipConfig, mergeTemplate, populateComponentHtmlId, setAccesskey, setCssClass, setCssStyle, setDisabled, setLabel, setLabelposition, setName, setOnblur, setOnchange, setOnclick, setOndblclick, setOnfocus, setOnkeydown, setOnkeypress, setOnkeyup, setOnmousedown, setOnmousemove, setOnmouseout, setOnmouseover, setOnmouseup, setOnselect, setRequired, setRequiredposition, setTabindex, setTemplate, setTemplateDir, setTheme, setTitle, setTooltip, setTooltipConfig, setValue
 
Methods inherited from class org.apache.struts2.components.Component
addAllParameters, addParameter, altSyntax, copyParams, determineActionURL, determineNamespace, end, fieldError, findAncestor, findString, findString, findValue, findValue, findValue, getComponentStack, getId, getParameters, getStack, popComponentStack, setId, start, toString, usesBody
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

TEMPLATE

public static final java.lang.String TEMPLATE
See Also:
Constant Field Values

emptyOption

protected java.lang.String emptyOption

headerKey

protected java.lang.String headerKey

headerValue

protected java.lang.String headerValue

multiple

protected java.lang.String multiple

size

protected java.lang.String size
Constructor Detail

Select

public Select(com.opensymphony.xwork2.util.OgnlValueStack stack,
              javax.servlet.http.HttpServletRequest request,
              javax.servlet.http.HttpServletResponse response)
Method Detail

getDefaultTemplate

protected java.lang.String getDefaultTemplate()
Description copied from class: UIBean
A contract that requires each concrete UI Tag to specify which template should be used as a default. For example, the CheckboxTab might return "checkbox.vm" while the RadioTag might return "radio.vm". This value not begin with a '/' unless you intend to make the path absolute rather than relative to the current theme.

Specified by:
getDefaultTemplate in class UIBean
Returns:
The name of the template to be used as the default.

evaluateExtraParams

public void evaluateExtraParams()
Overrides:
evaluateExtraParams in class ListUIBean

setEmptyOption

public void setEmptyOption(java.lang.String emptyOption)
Whether or not to add an empty (--) option after the header option


setHeaderKey

public void setHeaderKey(java.lang.String headerKey)
Key for first item in list. Must not be empty! "'-1'" and "''" is correct, "" is bad.


setHeaderValue

public void setHeaderValue(java.lang.String headerValue)
Value expression for first item in list


setMultiple

public void setMultiple(java.lang.String multiple)
Creates a multiple select. The tag will pre-select multiple values if the values are passed as an Array (of appropriate types) via the value attribute. Passing a Collection may work too? Haven't tested this.


setSize

public void setSize(java.lang.String size)
Size of the element box (# of elements to show)



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