org.apache.struts2.jasper.runtime

## Class TagHandlerPool

- java.lang.Object
- - org.apache.struts2.jasper.runtime.TagHandlerPool

- Direct Known Subclasses:
    PerThreadTagHandlerPool

      public class TagHandlerPool
      extends Object

  Pool of tag handlers that can be reused.
  Author:
    Jan Luehe

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected org.apache.tomcat.InstanceManager` | `instanceManager`
    `static String` | `OPTION_MAXSIZE`
    `static String` | `OPTION_TAGPOOL`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `TagHandlerPool()` Constructs a tag handler pool with the default capacity.
    `TagHandlerPool(int capacity)` Deprecated. Use static getTagHandlerPool

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `javax.servlet.jsp.tagext.Tag` | `get(Class handlerClass)` Gets the next available tag handler from this tag handler pool, instantiating one if this tag handler pool is empty.
    `protected static String` | `getOption(javax.servlet.ServletConfig config, String name, String defaultV)`
    `static TagHandlerPool` | `getTagHandlerPool(javax.servlet.ServletConfig config)`
    `protected void` | `init(javax.servlet.ServletConfig config)`
    `void` | `release()` Calls the release() method of all available tag handlers in this tag handler pool.
    `void` | `reuse(javax.servlet.jsp.tagext.Tag handler)` Adds the given tag handler to this tag handler pool, unless this tag handler pool has already reached its capacity, in which case the tag handler's release() method is called.

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

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

- - ### Field Detail

    - #### OPTION_TAGPOOL

          public static String OPTION_TAGPOOL

    - #### OPTION_MAXSIZE

          public static String OPTION_MAXSIZE

    - #### instanceManager

          protected org.apache.tomcat.InstanceManager instanceManager

  - ### Constructor Detail

    - #### TagHandlerPool

          public TagHandlerPool()

      Constructs a tag handler pool with the default capacity.

    - #### TagHandlerPool

          public TagHandlerPool(int capacity)

      Deprecated. Use static getTagHandlerPool
      Constructs a tag handler pool with the given capacity.
      Parameters:
        `capacity` - Tag handler pool capacity

  - ### Method Detail

    - #### getTagHandlerPool

          public static TagHandlerPool getTagHandlerPool(javax.servlet.ServletConfig config)

    - #### init

          protected void init(javax.servlet.ServletConfig config)

    - #### get

          public javax.servlet.jsp.tagext.Tag get(Class handlerClass)
                                           throws javax.servlet.jsp.JspException

      Gets the next available tag handler from this tag handler pool, instantiating one if this tag handler pool is empty.
      Parameters:
        `handlerClass` - Tag handler class
      Returns:
        Reused or newly instantiated tag handler
      Throws:
        `javax.servlet.jsp.JspException` - if a tag handler cannot be instantiated

    - #### reuse

          public void reuse(javax.servlet.jsp.tagext.Tag handler)

      Adds the given tag handler to this tag handler pool, unless this tag handler pool has already reached its capacity, in which case the tag handler's release() method is called.
      Parameters:
        `handler` - Tag handler to add to this tag handler pool

    - #### release

          public void release()

      Calls the release() method of all available tag handlers in this tag handler pool.

    - #### getOption

          protected static String getOption(javax.servlet.ServletConfig config,
                                            String name,
                                            String defaultV)

Copyright © 2000–2026 Apache Software Foundation. All rights reserved.