Package org.apache.struts2.views.jsp

# Class URLTag

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.ContextBeanTag
org.apache.struts2.views.jsp.URLTag

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

public class URLTag extends ContextBeanTag

See Also:
  - `URL`
  - Serialized Form

- ## Field Summary

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

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

  `id, 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
  `URLTag()`

- ## 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.
  `Component`
  `getBean(ValueStack stack, jakarta.servlet.http.HttpServletRequest req, jakarta.servlet.http.HttpServletResponse res)`
  `protected void`
  `populateParams()`
  Define method to populate component state based on the Tag attributes.
  `void`
  `setAction(String action)`
  `void`
  `setAnchor(String anchor)`
  `void`
  `setEncode(String encode)`
  `void`
  `setEscapeAmp(String escapeAmp)`
  `void`
  `setForceAddSchemeHostAndPort(String forceAddSchemeHostAndPort)`
  `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.ContextBeanTag

  `setVar`

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

  - ### includeParams

    protected String includeParams

  - ### scheme

    protected String scheme

  - ### value

    protected String value

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

- ## Constructor Details

  - ### URLTag

    public URLTag()

- ## Method Details

  - ### getBean

    public Component getBean(ValueStack stack, jakarta.servlet.http.HttpServletRequest req, jakarta.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 attributes. Descendants should override this method for custom behaviour, but should always call the ancestor method when doing so.
    Overrides:
      `populateParams` in class `ContextBeanTag`

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

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

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