Class AbstractListTag

java.lang.Object
jakarta.servlet.jsp.tagext.TagSupport
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:
  • 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 parameters. 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)
      Description copied from class: StrutsBodyTagSupport
      Request that the tag state be cleared during StrutsBodyTagSupport.doEndTag() processing, which may help with certain edge cases with tag logic running on servers that implement JSP Tag Pooling. Note: Even though the Tag classes extend this class StrutsBodyTagSupport, and this method StrutsBodyTagSupport.setPerformClearTagStateForTagPoolingServers(boolean) exists in the method hierarchy, the JSP processing requires us to explicitly override it in every Tag class in order for the Tag handler method to be visible to the JSP processing. Defining a setter in the superclass alone is insufficient (results in "Cannot find a setter method for the attribute").

      See StrutsBodyTagSupport.clearTagStateForTagPoolingServers() for additional details. Warning: Setting this value to true may allow for the desired behaviour, but doing so may violate the JSP specification. Set to true at your own risk.

      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