Package org.apache.struts2.components

# Class Anchor

java.lang.Object
org.apache.struts2.components.Component
org.apache.struts2.components.UIBean
org.apache.struts2.components.ClosingUIBean
org.apache.struts2.components.Anchor

public class Anchor extends ClosingUIBean

A tag that creates a HTML <a >.This tag supports the same attributes as the "url" tag, including nested parameters using the "param" tag.

Examples

     <s:a id="link1" href="/do-it.action">
         <img border="none" src="<%=request.getContextPath()%>/images/delete.gif"/>
         <s:param name="id" value="1"/>
     </s:a>

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final String`
  `COMPONENT_NAME`
  `protected String`
  `href`
  `static final String`
  `OPEN_TEMPLATE`
  `protected boolean`
  `processingTagBody`
  `static final String`
  `TEMPLATE`
  `protected Map<String,Object>`
  `urlParameters`
  `protected UrlProvider`
  `urlProvider`
  `protected UrlRenderer`
  `urlRenderer`

  ### Fields inherited from class org.apache.struts2.components.UIBean

  `accesskey, ATTR_FIELD_VALUE, ATTR_NAME_VALUE, ATTR_VALUE, cssClass, cssErrorClass, cssErrorStyle, cssStyle, defaultTemplateDir, defaultUITheme, disabled, dynamicAttributes, errorPosition, id, javascriptTooltip, key, label, labelPosition, labelSeparator, name, onblur, onchange, onclick, ondblclick, onfocus, onkeydown, onkeypress, onkeyup, onmousedown, onmousemove, onmouseout, onmouseover, onmouseup, onselect, request, requiredLabel, requiredPosition, response, tabindex, template, templateDir, templateEngineManager, templateSuffix, theme, title, tooltip, tooltipConfig, tooltipCssClass, tooltipDelay, tooltipIconPath, uiStaticContentPath, uiThemeExpansionToken, value`

  ### Fields inherited from class org.apache.struts2.components.Component

  `actionMapper, attributes, COMPONENT_STACK, devMode, escapeHtmlBody, performClearTagStateForTagPoolingServers, stack, standardAttributesMap, throwExceptionOnELFailure`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `Anchor(ValueStack stack, jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `addAllAttributes(Map<String,Object> additionalAttributes)`
  Adds all the given attributes to this component's own attributes.
  `void`
  `addParameter(String key, Object value)`
  Adds the given key and value to this component's own parameter.
  `boolean`
  `end(Writer writer, String body)`
  Overrides to be able to render body in a template rather than always before the template
  `protected void`
  `evaluateExtraParams()`
  `String`
  `getDefaultOpenTemplate()`
  `protected String`
  `getDefaultTemplate()`
  A contract that requires each concrete UI Tag to specify which template should be used as a default.
  `UrlProvider`
  `getUrlProvider()`
  `void`
  `setAction(String action)`
  `void`
  `setAnchor(String anchor)`
  `void`
  `setEncode(boolean encode)`
  `void`
  `setEscapeAmp(boolean escapeAmp)`
  `void`
  `setEscapeHtmlBody(boolean escapeHtmlBody)`
  `void`
  `setExtraParameterProvider(ExtraParameterProvider provider)`
  `void`
  `setForceAddSchemeHostAndPort(boolean forceAddSchemeHostAndPort)`
  `void`
  `setHref(String href)`
  `void`
  `setIncludeContext(boolean includeContext)`
  `void`
  `setIncludeParams(String includeParams)`
  `void`
  `setMethod(String method)`
  `void`
  `setNamespace(String namespace)`
  `void`
  `setPortletMode(String portletMode)`
  `void`
  `setPortletUrlType(String portletUrlType)`
  `void`
  `setScheme(String scheme)`
  `void`
  `setUrlIncludeParams(String urlIncludeParams)`
  `void`
  `setUrlRenderer(UrlRenderer urlRenderer)`
  `void`
  `setValue(String value)`
  `void`
  `setWindowState(String windowState)`
  `boolean`
  `start(Writer writer)`
  Callback for the start tag of this component.
  `boolean`
  `usesBody()`
  Overwrite to set if body should be used.

  ### Methods inherited from class org.apache.struts2.components.ClosingUIBean

  `setOpenTemplate`

  ### Methods inherited from class org.apache.struts2.components.UIBean

  `addFormParameter, applyValueParameter, buildTemplateName, copyAttributes, enableAncestorFormCustomOnsubmit, ensureAttributeSafelyNotEscaped, escape, evaluateNameValue, evaluateParams, getId, getTemplate, getTemplateDir, getTheme, getTooltipConfig, getValueClassType, lazyEvaluation, mergeTemplate, populateComponentHtmlId, setAccesskey, setCssClass, setCssErrorClass, setCssErrorStyle, setCssStyle, setDefaultTemplateDir, setDefaultUITheme, setDisabled, setDynamicAttributes, setErrorPosition, setId, setJavascriptTooltip, setKey, setLabel, setLabelPosition, setLabelSeparator, setName, setOnblur, setOnchange, setOnclick, setOndblclick, setOnfocus, setOnkeydown, setOnkeypress, setOnkeyup, setOnmousedown, setOnmousemove, setOnmouseout, setOnmouseover, setOnmouseup, setOnselect, setRequiredLabel, setRequiredPosition, setStaticContentPath, setStyle, setTabindex, setTemplate, setTemplateDir, setTemplateEngineManager, setTheme, setTitle, setTooltip, setTooltipConfig, setTooltipCssClass, setTooltipDelay, setTooltipIconPath, setUIThemeExpansionToken`

  ### Methods inherited from class org.apache.struts2.components.Component

  `completeExpression, determineActionURL, determineNamespace, end, escapeHtmlBody, fieldError, findAncestor, findString, findString, findValue, findValue, findValue, getAttributes, getComponentStack, getNamespace, getPerformClearTagStateForTagPoolingServers, getStack, getStandardAttributes, isAcceptableExpression, isValidTagAttribute, popComponentStack, setActionMapper, setDevMode, setEscapeHtmlBody, setNotExcludedAcceptedPatterns, setPerformClearTagStateForTagPoolingServers, setThrowExceptionsOnELFailure, setUrlHelper, stripExpression, toString`

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

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

- ## Field Details

  - ### OPEN_TEMPLATE

    public static final String OPEN_TEMPLATE
    See Also:
      - Constant Field Values

  - ### TEMPLATE

    public static final String TEMPLATE
    See Also:
      - Constant Field Values

  - ### COMPONENT_NAME

    public static final String COMPONENT_NAME

  - ### href

    protected String href

  - ### urlProvider

    protected UrlProvider urlProvider

  - ### urlRenderer

    protected UrlRenderer urlRenderer

  - ### processingTagBody

    protected boolean processingTagBody

  - ### urlParameters

    protected Map<String,Object> urlParameters

- ## Constructor Details

  - ### Anchor

    public Anchor(ValueStack stack, jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response)

- ## Method Details

  - ### getDefaultOpenTemplate

    public String getDefaultOpenTemplate()
    Specified by:
      `getDefaultOpenTemplate` in class `ClosingUIBean`

  - ### getDefaultTemplate

    protected String getDefaultTemplate()
    Description copied from class: `UIBean`
    A contract that requires each concrete UI Tag to specify which template should be used as a default. For example, the CheckboxTab might return "checkbox.vm" while the RadioTag might return "radio.vm". This value not begin with a '/' unless you intend to make the path absolute rather than relative to the current theme.
    Specified by:
      `getDefaultTemplate` in class `UIBean`
    Returns:
      The name of the template to be used as the default.

  - ### usesBody

    public boolean usesBody()
    Description copied from class: `Component`
    Overwrite to set if body should be used.
    Overrides:
      `usesBody` in class `Component`
    Returns:
      always false for this component.

  - ### evaluateExtraParams

    protected void evaluateExtraParams()
    Overrides:
      `evaluateExtraParams` in class `UIBean`

  - ### setUrlIncludeParams

    public void setUrlIncludeParams(String urlIncludeParams)

  - ### setUrlRenderer

    public void setUrlRenderer(UrlRenderer urlRenderer)

  - ### setExtraParameterProvider

    public void setExtraParameterProvider(ExtraParameterProvider provider)

  - ### start

    public boolean start(Writer writer)
    Description copied from class: `Component`
    Callback for the start tag of this component. Should the body be evaluated?
    Overrides:
      `start` in class `ClosingUIBean`
    Parameters:
      `writer` - the output writer.
    Returns:
      true if the body should be evaluated

  - ### end

    public boolean end(Writer writer, String body)
    Overrides to be able to render body in a template rather than always before the template
    Overrides:
      `end` in class `UIBean`
    Parameters:
      `writer` - the output writer.
      `body` - the rendered body.
    Returns:
      true if the body should be evaluated again

  - ### addParameter

    public void addParameter(String key, Object value)
    Description copied from class: `Component`
    Adds the given key and value to this component's own parameter.
    If the provided key is `null` nothing happens. If the provided value is `null` any existing parameter with the given key name is removed.
    Overrides:
      `addParameter` in class `Component`
    Parameters:
      `key` - the key of the new parameter to add.
      `value` - the value associated with the key.

  - ### addAllAttributes

    public void addAllAttributes(Map<String,Object> additionalAttributes)
    Description copied from class: `Component`
    Adds all the given attributes to this component's own attributes.
    Overrides:
      `addAllAttributes` in class `Component`
    Parameters:
      `additionalAttributes` - the attributes to add.

  - ### getUrlProvider

    public UrlProvider getUrlProvider()

  - ### setHref

    public void setHref(String href)

  - ### setIncludeParams

    public void setIncludeParams(String includeParams)

  - ### setScheme

    public void setScheme(String scheme)

  - ### setValue

    public void setValue(String value)
    Overrides:
      `setValue` in class `UIBean`

  - ### setAction

    public void setAction(String action)

  - ### setNamespace

    public void setNamespace(String namespace)

  - ### setMethod

    public void setMethod(String method)

  - ### setEncode

    public void setEncode(boolean encode)

  - ### setIncludeContext

    public void setIncludeContext(boolean includeContext)

  - ### setPortletMode

    public void setPortletMode(String portletMode)

  - ### setWindowState

    public void setWindowState(String windowState)

  - ### setPortletUrlType

    public void setPortletUrlType(String portletUrlType)

  - ### setAnchor

    public void setAnchor(String anchor)

  - ### setEscapeAmp

    public void setEscapeAmp(boolean escapeAmp)

  - ### setForceAddSchemeHostAndPort

    public void setForceAddSchemeHostAndPort(boolean forceAddSchemeHostAndPort)

  - ### setEscapeHtmlBody

    public void setEscapeHtmlBody(boolean escapeHtmlBody)