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

# Class AbstractListTag

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

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:
  `AbstractRequiredListTag`, `InputTransferSelectTag`

public abstract class AbstractListTag extends AbstractUITag

See Also:
  - Serialized Form

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `protected String`
  `list`
  `protected String`
  `listCssClass`
  `protected String`
  `listCssStyle`
  `protected String`
  `listKey`
  `protected String`
  `listLabelKey`
  `protected String`
  `listTitle`
  `protected String`
  `listValue`
  `protected String`
  `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
  `AbstractListTag()`

- ## 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.
  `protected void`
  `populateParams()`
  Define method to populate component state based on the Tag attributes.
  `void`
  `setList(String list)`
  `void`
  `setListCssClass(String listCssClass)`
  `void`
  `setListCssStyle(String listCssStyle)`
  `void`
  `setListKey(String listKey)`
  `void`
  `setListLabelKey(String listLabelKey)`
  `void`
  `setListTitle(String listTitle)`
  `void`
  `setListValue(String listValue)`
  `void`
  `setListValueKey(String listValueKey)`
  `void`
  `setPerformClearTagStateForTagPoolingServers(boolean performClearTagStateForTagPoolingServers)`
  Must declare the setter at the descendant Tag class level in order for the tag handler to locate the method.

  ### 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

  - ### list

    protected String list

  - ### listKey

    protected String listKey

  - ### listValue

    protected String listValue

  - ### listValueKey

    protected String listValueKey

  - ### listLabelKey

    protected String listLabelKey

  - ### listCssClass

    protected String listCssClass

  - ### listCssStyle

    protected String listCssStyle

  - ### listTitle

    protected String listTitle

- ## Constructor Details

  - ### AbstractListTag

    public AbstractListTag()

- ## 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 `AbstractUITag`

  - ### setList

    public void setList(String list)

  - ### setListKey

    public void setListKey(String listKey)

  - ### setListValue

    public void setListValue(String listValue)

  - ### setListValueKey

    public void setListValueKey(String listValueKey)

  - ### setListLabelKey

    public void setListLabelKey(String listLabelKey)

  - ### setListCssClass

    public void setListCssClass(String listCssClass)

  - ### setListCssStyle

    public void setListCssStyle(String listCssStyle)

  - ### setListTitle

    public void setListTitle(String listTitle)

  - ### 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 `AbstractUITag`
    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 `AbstractUITag`