Package org.apache.struts2.views.jsp.ui

# Class AbstractDoubleListTag

java.lang.Object
jakarta.servlet.jsp.tagext.TagSupport
jakarta.servlet.jsp.tagext.BodyTagSupport
org.apache.struts2.views.jsp.StrutsBodyTagSupport
org.apache.struts2.views.jsp.ComponentTagSupport
org.apache.struts2.views.jsp.ui.AbstractUITag
org.apache.struts2.views.jsp.ui.AbstractListTag
org.apache.struts2.views.jsp.ui.AbstractRequiredListTag
org.apache.struts2.views.jsp.ui.AbstractDoubleListTag

All Implemented Interfaces:
  `jakarta.servlet.jsp.tagext.BodyTag`, `jakarta.servlet.jsp.tagext.DynamicAttributes`, `jakarta.servlet.jsp.tagext.IterationTag`, `jakarta.servlet.jsp.tagext.JspTag`, `jakarta.servlet.jsp.tagext.Tag`, `Serializable`

Direct Known Subclasses:
  `DoubleSelectTag`, `OptionTransferSelectTag`

public abstract class AbstractDoubleListTag extends AbstractRequiredListTag

See Also:
  - Serialized Form

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `protected String`
  `doubleAccesskey`
  `protected String`
  `doubleCssClass`
  `protected String`
  `doubleCssStyle`
  `protected String`
  `doubleDisabled`
  `protected String`
  `doubleEmptyOption`
  `protected String`
  `doubleHeaderKey`
  `protected String`
  `doubleHeaderValue`
  `protected String`
  `doubleId`
  `protected String`
  `doubleList`
  `protected String`
  `doubleListCssClass`
  `protected String`
  `doubleListCssStyle`
  `protected String`
  `doubleListKey`
  `protected String`
  `doubleListTitle`
  `protected String`
  `doubleListValue`
  `protected String`
  `doubleMultiple`
  `protected String`
  `doubleName`
  `protected String`
  `doubleOnblur`
  `protected String`
  `doubleOnchange`
  `protected String`
  `doubleOnclick`
  `protected String`
  `doubleOndblclick`
  `protected String`
  `doubleOnfocus`
  `protected String`
  `doubleOnkeydown`
  `protected String`
  `doubleOnkeypress`
  `protected String`
  `doubleOnkeyup`
  `protected String`
  `doubleOnmousedown`
  `protected String`
  `doubleOnmousemove`
  `protected String`
  `doubleOnmouseout`
  `protected String`
  `doubleOnmouseover`
  `protected String`
  `doubleOnmouseup`
  `protected String`
  `doubleOnselect`
  `protected String`
  `doubleSize`
  `protected String`
  `doubleValue`
  `protected String`
  `emptyOption`
  `protected String`
  `formName`
  `protected String`
  `headerKey`
  `protected String`
  `headerValue`
  `protected String`
  `multiple`
  `protected String`
  `size`

  ### Fields inherited from class org.apache.struts2.views.jsp.ui.AbstractListTag

  `list, listCssClass, listCssStyle, listKey, listLabelKey, listTitle, listValue, listValueKey`

  ### Fields inherited from class org.apache.struts2.views.jsp.ui.AbstractUITag

  `accesskey, cssClass, cssErrorClass, cssErrorStyle, cssStyle, disabled, dynamicAttributes, errorPosition, id, javascriptTooltip, key, label, labelPosition, labelSeparator, name, onblur, onchange, onclick, ondblclick, onfocus, onkeydown, onkeypress, onkeyup, onmousedown, onmousemove, onmouseout, onmouseover, onmouseup, onselect, requiredLabel, requiredPosition, tabindex, template, templateDir, theme, title, tooltip, tooltipConfig, tooltipCssClass, tooltipDelay, tooltipIconPath, value`

  ### Fields inherited from class org.apache.struts2.views.jsp.ComponentTagSupport

  `component`

  ### Fields inherited from class jakarta.servlet.jsp.tagext.BodyTagSupport

  `bodyContent`

  ### Fields inherited from class jakarta.servlet.jsp.tagext.TagSupport

  `pageContext`

  ### Fields inherited from interface jakarta.servlet.jsp.tagext.BodyTag

  `EVAL_BODY_BUFFERED, EVAL_BODY_TAG`

  ### Fields inherited from interface jakarta.servlet.jsp.tagext.IterationTag

  `EVAL_BODY_AGAIN`

  ### Fields inherited from interface jakarta.servlet.jsp.tagext.Tag

  `EVAL_BODY_INCLUDE, EVAL_PAGE, SKIP_BODY, SKIP_PAGE`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `AbstractDoubleListTag()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `protected void`
  `clearTagStateForTagPoolingServers()`
  Provide a mechanism to clear tag state, to handle servlet container JSP tag pooling behaviour with some servers, such as Glassfish.
  `String`
  `getDoubleCssClass()`
  `String`
  `getDoubleCssStyle()`
  `String`
  `getDoubleDisabled()`
  `String`
  `getDoubleEmptyOption()`
  `String`
  `getDoubleHeaderKey()`
  `String`
  `getDoubleHeaderValue()`
  `String`
  `getDoubleId()`
  `String`
  `getDoubleList()`
  `String`
  `getDoubleListKey()`
  `String`
  `getDoubleListValue()`
  `String`
  `getDoubleMultiple()`
  `String`
  `getDoubleName()`
  `String`
  `getDoubleOnblur()`
  `String`
  `getDoubleOnchange()`
  `String`
  `getDoubleOnclick()`
  `String`
  `getDoubleOndblclick()`
  `String`
  `getDoubleOnfocus()`
  `String`
  `getDoubleOnkeydown()`
  `String`
  `getDoubleOnkeypress()`
  `String`
  `getDoubleOnkeyup()`
  `String`
  `getDoubleOnmousedown()`
  `String`
  `getDoubleOnmousemove()`
  `String`
  `getDoubleOnmouseout()`
  `String`
  `getDoubleOnmouseover()`
  `String`
  `getDoubleOnmouseup()`
  `String`
  `getDoubleOnselect()`
  `String`
  `getDoubleSize()`
  `String`
  `getDoubleValue()`
  `String`
  `getFormName()`
  `protected void`
  `populateParams()`
  Define method to populate component state based on the Tag attributes.
  `void`
  `setDoubleAccesskey(String doubleAccesskey)`
  `void`
  `setDoubleCssClass(String doubleCssClass)`
  `void`
  `setDoubleCssStyle(String doubleCssStyle)`
  `void`
  `setDoubleDisabled(String doubleDisabled)`
  `void`
  `setDoubleEmptyOption(String doubleEmptyOption)`
  `void`
  `setDoubleHeaderKey(String doubleHeaderKey)`
  `void`
  `setDoubleHeaderValue(String doubleHeaderValue)`
  `void`
  `setDoubleId(String doubleId)`
  `void`
  `setDoubleList(String list)`
  `void`
  `setDoubleListCssClass(String doubleListCssClass)`
  `void`
  `setDoubleListCssStyle(String doubleListCssStyle)`
  `void`
  `setDoubleListKey(String listKey)`
  `void`
  `setDoubleListTitle(String doubleListTitle)`
  `void`
  `setDoubleListValue(String listValue)`
  `void`
  `setDoubleMultiple(String doubleMultiple)`
  `void`
  `setDoubleName(String aName)`
  `void`
  `setDoubleOnblur(String doubleOnblur)`
  `void`
  `setDoubleOnchange(String doubleOnchange)`
  `void`
  `setDoubleOnclick(String doubleOnclick)`
  `void`
  `setDoubleOndblclick(String doubleOndblclick)`
  `void`
  `setDoubleOnfocus(String doubleOnfocus)`
  `void`
  `setDoubleOnkeydown(String doubleOnkeydown)`
  `void`
  `setDoubleOnkeypress(String doubleOnkeypress)`
  `void`
  `setDoubleOnkeyup(String doubleOnkeyup)`
  `void`
  `setDoubleOnmousedown(String doubleOnmousedown)`
  `void`
  `setDoubleOnmousemove(String doubleOnmousemove)`
  `void`
  `setDoubleOnmouseout(String doubleOnmouseout)`
  `void`
  `setDoubleOnmouseover(String doubleOnmouseover)`
  `void`
  `setDoubleOnmouseup(String doubleOnmouseup)`
  `void`
  `setDoubleOnselect(String doubleOnselect)`
  `void`
  `setDoubleSize(String doubleSize)`
  `void`
  `setDoubleValue(String doubleValue)`
  `void`
  `setEmptyOption(String emptyOption)`
  `void`
  `setFormName(String formName)`
  `void`
  `setHeaderKey(String headerKey)`
  `void`
  `setHeaderValue(String headerValue)`
  `void`
  `setMultiple(String multiple)`
  `void`
  `setPerformClearTagStateForTagPoolingServers(boolean performClearTagStateForTagPoolingServers)`
  Must declare the setter at the descendant Tag class level in order for the tag handler to locate the method.
  `void`
  `setSize(String size)`

  ### Methods inherited from class org.apache.struts2.views.jsp.ui.AbstractListTag

  `setList, setListCssClass, setListCssStyle, setListKey, setListLabelKey, setListTitle, setListValue, setListValueKey`

  ### Methods inherited from class org.apache.struts2.views.jsp.ui.AbstractUITag

  `setAccesskey, setCssClass, setCssErrorClass, setCssErrorStyle, setCssStyle, setDisabled, setDynamicAttribute, setErrorPosition, setId, setJavascriptTooltip, setKey, setLabel, setLabelPosition, setLabelSeparator, setName, setOnblur, setOnchange, setOnclick, setOndblclick, setOnfocus, setOnkeydown, setOnkeypress, setOnkeyup, setOnmousedown, setOnmousemove, setOnmouseout, setOnmouseover, setOnmouseup, setOnselect, setRequiredLabel, setRequiredPosition, setStyle, setTabindex, setTemplate, setTemplateDir, setTheme, setTitle, setTooltip, setTooltipConfig, setTooltipCssClass, setTooltipDelay, setTooltipIconPath, setValue`

  ### Methods inherited from class org.apache.struts2.views.jsp.ComponentTagSupport

  `doEndTag, doStartTag, getBean, getComponent, populatePerformClearTagStateForTagPoolingServersParam`

  ### Methods inherited from class org.apache.struts2.views.jsp.StrutsBodyTagSupport

  `findString, findValue, findValue, getBody, getPerformClearTagStateForTagPoolingServers, getStack, release, toString`

  ### Methods inherited from class jakarta.servlet.jsp.tagext.BodyTagSupport

  `doAfterBody, doInitBody, getBodyContent, getPreviousOut, setBodyContent`

  ### Methods inherited from class jakarta.servlet.jsp.tagext.TagSupport

  `findAncestorWithClass, getId, getParent, getValue, getValues, removeValue, setPageContext, setParent, setValue`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

  ### Methods inherited from interface jakarta.servlet.jsp.tagext.Tag

  `getParent, setPageContext, setParent`

- ## Field Details

  - ### doubleList

    protected String doubleList

  - ### doubleListKey

    protected String doubleListKey

  - ### doubleListValue

    protected String doubleListValue

  - ### doubleListCssClass

    protected String doubleListCssClass

  - ### doubleListCssStyle

    protected String doubleListCssStyle

  - ### doubleListTitle

    protected String doubleListTitle

  - ### doubleName

    protected String doubleName

  - ### doubleValue

    protected String doubleValue

  - ### formName

    protected String formName

  - ### emptyOption

    protected String emptyOption

  - ### headerKey

    protected String headerKey

  - ### headerValue

    protected String headerValue

  - ### multiple

    protected String multiple

  - ### size

    protected String size

  - ### doubleId

    protected String doubleId

  - ### doubleDisabled

    protected String doubleDisabled

  - ### doubleMultiple

    protected String doubleMultiple

  - ### doubleSize

    protected String doubleSize

  - ### doubleHeaderKey

    protected String doubleHeaderKey

  - ### doubleHeaderValue

    protected String doubleHeaderValue

  - ### doubleEmptyOption

    protected String doubleEmptyOption

  - ### doubleCssClass

    protected String doubleCssClass

  - ### doubleCssStyle

    protected String doubleCssStyle

  - ### doubleOnclick

    protected String doubleOnclick

  - ### doubleOndblclick

    protected String doubleOndblclick

  - ### doubleOnmousedown

    protected String doubleOnmousedown

  - ### doubleOnmouseup

    protected String doubleOnmouseup

  - ### doubleOnmouseover

    protected String doubleOnmouseover

  - ### doubleOnmousemove

    protected String doubleOnmousemove

  - ### doubleOnmouseout

    protected String doubleOnmouseout

  - ### doubleOnfocus

    protected String doubleOnfocus

  - ### doubleOnblur

    protected String doubleOnblur

  - ### doubleOnkeypress

    protected String doubleOnkeypress

  - ### doubleOnkeydown

    protected String doubleOnkeydown

  - ### doubleOnkeyup

    protected String doubleOnkeyup

  - ### doubleOnselect

    protected String doubleOnselect

  - ### doubleOnchange

    protected String doubleOnchange

  - ### doubleAccesskey

    protected String doubleAccesskey

- ## Constructor Details

  - ### AbstractDoubleListTag

    public AbstractDoubleListTag()

- ## Method Details

  - ### populateParams

    protected void populateParams()
    Description copied from class: `ComponentTagSupport`
    Define method to populate component state based on the Tag attributes. Descendants should override this method for custom behaviour, but should always call the ancestor method when doing so.
    Overrides:
      `populateParams` in class `AbstractRequiredListTag`

  - ### setDoubleList

    public void setDoubleList(String list)

  - ### setDoubleListKey

    public void setDoubleListKey(String listKey)

  - ### setDoubleListValue

    public void setDoubleListValue(String listValue)

  - ### setDoubleListCssClass

    public void setDoubleListCssClass(String doubleListCssClass)

  - ### setDoubleListCssStyle

    public void setDoubleListCssStyle(String doubleListCssStyle)

  - ### setDoubleListTitle

    public void setDoubleListTitle(String doubleListTitle)

  - ### setDoubleName

    public void setDoubleName(String aName)

  - ### setDoubleValue

    public void setDoubleValue(String doubleValue)

  - ### setFormName

    public void setFormName(String formName)

  - ### getDoubleCssClass

    public String getDoubleCssClass()

  - ### setDoubleCssClass

    public void setDoubleCssClass(String doubleCssClass)

  - ### getDoubleCssStyle

    public String getDoubleCssStyle()

  - ### setDoubleCssStyle

    public void setDoubleCssStyle(String doubleCssStyle)

  - ### getDoubleDisabled

    public String getDoubleDisabled()

  - ### setDoubleDisabled

    public void setDoubleDisabled(String doubleDisabled)

  - ### getDoubleEmptyOption

    public String getDoubleEmptyOption()

  - ### setDoubleEmptyOption

    public void setDoubleEmptyOption(String doubleEmptyOption)

  - ### getDoubleHeaderKey

    public String getDoubleHeaderKey()

  - ### setDoubleHeaderKey

    public void setDoubleHeaderKey(String doubleHeaderKey)

  - ### getDoubleHeaderValue

    public String getDoubleHeaderValue()

  - ### setDoubleHeaderValue

    public void setDoubleHeaderValue(String doubleHeaderValue)

  - ### getDoubleId

    public String getDoubleId()

  - ### setDoubleId

    public void setDoubleId(String doubleId)

  - ### getDoubleMultiple

    public String getDoubleMultiple()

  - ### setDoubleMultiple

    public void setDoubleMultiple(String doubleMultiple)

  - ### getDoubleOnblur

    public String getDoubleOnblur()

  - ### setDoubleOnblur

    public void setDoubleOnblur(String doubleOnblur)

  - ### getDoubleOnchange

    public String getDoubleOnchange()

  - ### setDoubleOnchange

    public void setDoubleOnchange(String doubleOnchange)

  - ### getDoubleOnclick

    public String getDoubleOnclick()

  - ### setDoubleOnclick

    public void setDoubleOnclick(String doubleOnclick)

  - ### getDoubleOndblclick

    public String getDoubleOndblclick()

  - ### setDoubleOndblclick

    public void setDoubleOndblclick(String doubleOndblclick)

  - ### getDoubleOnfocus

    public String getDoubleOnfocus()

  - ### setDoubleOnfocus

    public void setDoubleOnfocus(String doubleOnfocus)

  - ### getDoubleOnkeydown

    public String getDoubleOnkeydown()

  - ### setDoubleOnkeydown

    public void setDoubleOnkeydown(String doubleOnkeydown)

  - ### getDoubleOnkeypress

    public String getDoubleOnkeypress()

  - ### setDoubleOnkeypress

    public void setDoubleOnkeypress(String doubleOnkeypress)

  - ### getDoubleOnkeyup

    public String getDoubleOnkeyup()

  - ### setDoubleOnkeyup

    public void setDoubleOnkeyup(String doubleOnkeyup)

  - ### getDoubleOnmousedown

    public String getDoubleOnmousedown()

  - ### setDoubleOnmousedown

    public void setDoubleOnmousedown(String doubleOnmousedown)

  - ### getDoubleOnmousemove

    public String getDoubleOnmousemove()

  - ### setDoubleOnmousemove

    public void setDoubleOnmousemove(String doubleOnmousemove)

  - ### getDoubleOnmouseout

    public String getDoubleOnmouseout()

  - ### setDoubleOnmouseout

    public void setDoubleOnmouseout(String doubleOnmouseout)

  - ### getDoubleOnmouseover

    public String getDoubleOnmouseover()

  - ### setDoubleOnmouseover

    public void setDoubleOnmouseover(String doubleOnmouseover)

  - ### getDoubleOnmouseup

    public String getDoubleOnmouseup()

  - ### setDoubleOnmouseup

    public void setDoubleOnmouseup(String doubleOnmouseup)

  - ### getDoubleOnselect

    public String getDoubleOnselect()

  - ### setDoubleOnselect

    public void setDoubleOnselect(String doubleOnselect)

  - ### getDoubleSize

    public String getDoubleSize()

  - ### setDoubleSize

    public void setDoubleSize(String doubleSize)

  - ### getDoubleList

    public String getDoubleList()

  - ### getDoubleListKey

    public String getDoubleListKey()

  - ### getDoubleListValue

    public String getDoubleListValue()

  - ### getDoubleName

    public String getDoubleName()

  - ### getDoubleValue

    public String getDoubleValue()

  - ### getFormName

    public String getFormName()

  - ### setEmptyOption

    public void setEmptyOption(String emptyOption)

  - ### setHeaderKey

    public void setHeaderKey(String headerKey)

  - ### setHeaderValue

    public void setHeaderValue(String headerValue)

  - ### setMultiple

    public void setMultiple(String multiple)

  - ### setSize

    public void setSize(String size)

  - ### setDoubleAccesskey

    public void setDoubleAccesskey(String doubleAccesskey)

  - ### setPerformClearTagStateForTagPoolingServers

    public void setPerformClearTagStateForTagPoolingServers(boolean performClearTagStateForTagPoolingServers)
    Must declare the setter at the descendant Tag class level in order for the tag handler to locate the method.
    Overrides:
      `setPerformClearTagStateForTagPoolingServers` in class `AbstractRequiredListTag`
    Parameters:
      `performClearTagStateForTagPoolingServers` - true if tag state should be cleared, false otherwise.

  - ### clearTagStateForTagPoolingServers

    protected void clearTagStateForTagPoolingServers()
    Description copied from class: `StrutsBodyTagSupport`
    Provide a mechanism to clear tag state, to handle servlet container JSP tag pooling behaviour with some servers, such as Glassfish.

    Usage: Override this method in descendant classes to clear any state that might cause issues should the servlet container re-use a cached instance of the tag object. If the descendant class does not declare any new field members then it should not be strictly necessary to call this method there. Typically that means calling the ancestor's `ComponentTagSupport.clearTagStateForTagPoolingServers()` method first, then resetting instance variables at the current level to their default state.

    Note: If the descendant overrides `StrutsBodyTagSupport.doEndTag()`, and does not call super.doEndTag(), then the descendant should call this method in the descendant doEndTag() method to ensure consistent clearing of tag state.

    Overrides:
      `clearTagStateForTagPoolingServers` in class `AbstractListTag`