org.apache.struts2.components

## Class Link

- java.lang.Object
- - org.apache.struts2.components.Component
  - - org.apache.struts2.components.UIBean
    - - org.apache.struts2.components.Link

-     public class Link
      extends UIBean

  Add nonce propagation feature to implement CSP in link tags

  The link tag allows the user to load external resources, most usually style sheets. External resources can inject malicious code and perform XSS and data injection attacks. The s:link tag includes a nonce attribute that is being randomly generated with each request and only allows links with the valid nonce value to be executed.

  Examples

       <s:link ... />

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected String` | `as`
    `protected String` | `crossorigin`
    `protected String` | `href`
    `protected String` | `hreflang`
    `protected String` | `media`
    `protected String` | `referrerpolicy`
    `protected String` | `rel`
    `protected String` | `sizes`
    `protected String` | `type`

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

      `accesskey, ATTR_FIELD_VALUE, ATTR_NAME_VALUE, ATTR_VALUE, cspNonceReader, 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, COMPONENT_STACK, devMode, escapeHtmlBody, parameters, performClearTagStateForTagPoolingServers, stack, standardAttributesMap, throwExceptionOnELFailure`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `Link(ValueStack stack, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected void` | `evaluateExtraParams()`
    `protected String` | `getDefaultTemplate()` A contract that requires each concrete UI Tag to specify which template should be used as a default.
    `void` | `setAs(String as)`
    `void` | `setCrossorigin(String crossorigin)`
    `void` | `setHref(String href)`
    `void` | `setHreflang(String hreflang)`
    `void` | `setMedia(String media)`
    `void` | `setReferrerpolicy(String referrerpolicy)`
    `void` | `setRel(String rel)`
    `void` | `setSizes(String sizes)`
    `void` | `setType(String type)`

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

      `addFormParameter, applyValueParameter, buildTemplateName, copyParams, enableAncestorFormCustomOnsubmit, end, ensureAttributeSafelyNotEscaped, escape, evaluateNameValue, evaluateParams, getId, getTemplate, getTemplateDir, getTheme, getTooltipConfig, getValueClassType, lazyEvaluation, mergeTemplate, populateComponentHtmlId, setAccesskey, setCspNonceReader, 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, setValue`

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

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

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

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

- - ### Field Detail

    - #### href

          protected String href

    - #### hreflang

          protected String hreflang

    - #### rel

          protected String rel

    - #### media

          protected String media

    - #### referrerpolicy

          protected String referrerpolicy

    - #### sizes

          protected String sizes

    - #### crossorigin

          protected String crossorigin

    - #### type

          protected String type

    - #### as

          protected String as

  - ### Constructor Detail

    - #### Link

          public Link(ValueStack stack,
                      javax.servlet.http.HttpServletRequest request,
                      javax.servlet.http.HttpServletResponse response)

  - ### Method Detail

    - #### setHref

          public void setHref(String href)

    - #### setHreflang

          public void setHreflang(String hreflang)

    - #### setRel

          public void setRel(String rel)

    - #### setSizes

          public void setSizes(String sizes)

    - #### setCrossorigin

          public void setCrossorigin(String crossorigin)

    - #### setType

          public void setType(String type)

    - #### setAs

          public void setAs(String as)

    - #### setMedia

          public void setMedia(String media)

    - #### setReferrerpolicy

          public void setReferrerpolicy(String referrerpolicy)

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

    - #### evaluateExtraParams

          protected void evaluateExtraParams()

      Overrides:
        `evaluateExtraParams` in class `UIBean`

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