org.apache.struts2.views.jsp.ui

## Class AnchorTag

- java.lang.Object
- - javax.servlet.jsp.tagext.TagSupport
  - - javax.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.AbstractClosingTag
            - - org.apache.struts2.views.jsp.ui.AnchorTag

- All Implemented Interfaces:
    Serializable, javax.servlet.jsp.tagext.BodyTag, javax.servlet.jsp.tagext.DynamicAttributes, javax.servlet.jsp.tagext.IterationTag, javax.servlet.jsp.tagext.JspTag, javax.servlet.jsp.tagext.Tag

      public class AnchorTag
      extends AbstractClosingTag

  See Also:
    `Anchor`, Serialized Form

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected String` | `action`
    `protected String` | `anchor`
    `protected String` | `encode`
    `protected String` | `escapeAmp`
    `protected String` | `escapeHtmlBody`
    `protected String` | `forceAddSchemeHostAndPort`
    `protected String` | `href`
    `protected String` | `includeContext`
    `protected String` | `includeParams`
    `protected String` | `method`
    `protected String` | `namespace`
    `protected String` | `portletMode`
    `protected String` | `portletUrlType`
    `protected String` | `scheme`
    `protected String` | `windowState`

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

      `openTemplate`

    - ### 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 javax.servlet.jsp.tagext.BodyTagSupport

      `bodyContent`

    - ### Fields inherited from class javax.servlet.jsp.tagext.TagSupport

      `pageContext`

    - ### Fields inherited from interface javax.servlet.jsp.tagext.BodyTag

      `EVAL_BODY_BUFFERED, EVAL_BODY_TAG`

    - ### Fields inherited from interface javax.servlet.jsp.tagext.IterationTag

      `EVAL_BODY_AGAIN`

    - ### Fields inherited from interface javax.servlet.jsp.tagext.Tag

      `EVAL_BODY_INCLUDE, EVAL_PAGE, SKIP_BODY, SKIP_PAGE`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `AnchorTag()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and 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.
    `Component` | `getBean(ValueStack stack, javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse res)`
    `protected void` | `populateParams()` Define method to populate component state based on the Tag parameters.
    `void` | `setAction(String action)`
    `void` | `setAnchor(String anchor)`
    `void` | `setEncode(String encode)`
    `void` | `setEscapeAmp(String escapeAmp)`
    `void` | `setEscapeHtmlBody(String escapeHtmlBody)` Set via parameter to control if body content should be HTML-escaped.
    `void` | `setForceAddSchemeHostAndPort(String forceAddSchemeHostAndPort)`
    `void` | `setHref(String href)`
    `void` | `setIncludeContext(String includeContext)`
    `void` | `setIncludeParams(String name)`
    `void` | `setMethod(String method)`
    `void` | `setNamespace(String namespace)`
    `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` | `setPortletMode(String portletMode)`
    `void` | `setPortletUrlType(String portletUrlType)`
    `void` | `setScheme(String scheme)`
    `void` | `setValue(String value)`
    `void` | `setWindowState(String windowState)`

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

      `setOpenTemplate`

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

      `setAccesskey, setClass, 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`

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

      `doEndTag, doStartTag, getComponent, populatePerformClearTagStateForTagPoolingServersParam`

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

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

    - ### Methods inherited from class javax.servlet.jsp.tagext.BodyTagSupport

      `doAfterBody, doInitBody, getBodyContent, getPreviousOut, setBodyContent`

    - ### Methods inherited from class javax.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 javax.servlet.jsp.tagext.Tag

      `getParent, setPageContext, setParent`

- - ### Field Detail

    - #### href

          protected String href

    - #### includeParams

          protected String includeParams

    - #### scheme

          protected String scheme

    - #### action

          protected String action

    - #### namespace

          protected String namespace

    - #### method

          protected String method

    - #### encode

          protected String encode

    - #### includeContext

          protected String includeContext

    - #### escapeAmp

          protected String escapeAmp

    - #### portletMode

          protected String portletMode

    - #### windowState

          protected String windowState

    - #### portletUrlType

          protected String portletUrlType

    - #### anchor

          protected String anchor

    - #### forceAddSchemeHostAndPort

          protected String forceAddSchemeHostAndPort

    - #### escapeHtmlBody

          protected String escapeHtmlBody

  - ### Constructor Detail

    - #### AnchorTag

          public AnchorTag()

  - ### Method Detail

    - #### getBean

          public Component getBean(ValueStack stack,
                                   javax.servlet.http.HttpServletRequest req,
                                   javax.servlet.http.HttpServletResponse res)

      Specified by:
        `getBean` in class `ComponentTagSupport`

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

    - #### setHref

          public void setHref(String href)

    - #### setEncode

          public void setEncode(String encode)

    - #### setIncludeContext

          public void setIncludeContext(String includeContext)

    - #### setEscapeAmp

          public void setEscapeAmp(String escapeAmp)

    - #### setIncludeParams

          public void setIncludeParams(String name)

    - #### setAction

          public void setAction(String action)

    - #### setNamespace

          public void setNamespace(String namespace)

    - #### setMethod

          public void setMethod(String method)

    - #### setScheme

          public void setScheme(String scheme)

    - #### setValue

          public void setValue(String value)

      Overrides:
        `setValue` in class `AbstractUITag`

    - #### setPortletMode

          public void setPortletMode(String portletMode)

    - #### setPortletUrlType

          public void setPortletUrlType(String portletUrlType)

    - #### setWindowState

          public void setWindowState(String windowState)

    - #### setAnchor

          public void setAnchor(String anchor)

    - #### setForceAddSchemeHostAndPort

          public void setForceAddSchemeHostAndPort(String forceAddSchemeHostAndPort)

    - #### setEscapeHtmlBody

          public void setEscapeHtmlBody(String escapeHtmlBody)

      Set via parameter to control if body content should be HTML-escaped.
      Parameters:
        `escapeHtmlBody` -
      Since:
        6.0.0

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

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