org.apache.struts2.components

## Class Text

- java.lang.Object
- - org.apache.struts2.components.Component
  - - org.apache.struts2.components.ContextBean
    - - org.apache.struts2.components.Text

- All Implemented Interfaces:
    Param.UnnamedParametric

      public class Text
      extends ContextBean
      implements Param.UnnamedParametric

  Render a I18n text message.

  The message must be in a resource bundle with the same name as the action that it is associated with. In practice this means that you should create a properties file in the same package as your Java class with the same name as your class, but with .properties extension.

  If the named message is not found in a property file, then the body of the tag will be used as default message. If no value is found, the key of the message will not be written out.

  Note: If the var attribute is used with this tag, the tag's value will not be written out. Instead the result will be saved into the action context (action scope).

  - name* (String) - the i18n message key
  - escapeHtml (Boolean) - Escape HTML. Defaults to false
  - escapeJavaScript (Boolean) - Escape JavaScript. Defaults to false
  - escapeXml (Boolean) - Escape XML. Defaults to false
  - escapeCsv (Boolean) - Escape CSV. Defaults to false

  Example:

  Accessing messages from a given bundle (the i18n Shop example bundle in the first example) and using bundle defined through the framework in the second example.

       <!-- First Example -->
       <s:i18n name="struts.action.test.i18n.Shop">
           <s:text name="main.title"/>
       </s:i18n>

       <!-- Second Example -->
       <s:text name="main.title" />

       <!-- Third Examlpe -->
       <s:text name="i18n.label.greetings">
          <s:param >Mr Smith</s:param>
       </s:text>

       <-- Fourth Example -->
       <s:text name="some.key" />

       <-- Fifth Example -->
       <s:text name="some.invalid.key" >
          The Default Message That Will Be Displayed
       </s:text>

  See Also:
    `Param`

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected String` | `actualName`
    `protected String` | `name`
    `protected List<Object>` | `values`

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

      `var`

    - ### 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
    `Text(ValueStack stack)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addParameter(Object value)` Adds the given value as a parameter to the outer tag.
    `void` | `addParameter(String key, Object value)` Adds the given key and value to this component's own parameter.
    `boolean` | `end(Writer writer, String body)` Callback for the end tag of this component.
    `void` | `setEscapeCsv(boolean escapeCsv)`
    `void` | `setEscapeHtml(boolean escape)`
    `void` | `setEscapeJavaScript(boolean escapeJavaScript)`
    `void` | `setEscapeXml(boolean escapeXml)`
    `void` | `setName(String name)`
    `boolean` | `usesBody()` Overwrite to set if body should be used.

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

      `getVar, putInContext, setVar`

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

      `addAllParameters, clearStandardAttributesMap, completeExpression, copyParams, 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`

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

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

- - ### Field Detail

    - #### values

          protected List<Object> values

    - #### actualName

          protected String actualName

    - #### name

          protected String name

  - ### Constructor Detail

    - #### Text

          public Text(ValueStack stack)

  - ### Method Detail

    - #### setName

          public void setName(String name)

    - #### setEscapeHtml

          public void setEscapeHtml(boolean escape)

    - #### setEscapeJavaScript

          public void setEscapeJavaScript(boolean escapeJavaScript)

    - #### setEscapeXml

          public void setEscapeXml(boolean escapeXml)

    - #### setEscapeCsv

          public void setEscapeCsv(boolean escapeCsv)

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

    - #### end

          public boolean end(Writer writer,
                             String body)

      Description copied from class: `Component`
      Callback for the end tag of this component. Should the body be evaluated again?
      NOTE: will pop component stack.
      Overrides:
        `end` in class `Component`
      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.

    - #### addParameter

          public void addParameter(Object value)

      Description copied from interface: `Param.UnnamedParametric`
      Adds the given value as a parameter to the outer tag.
      Specified by:
        `addParameter` in interface `Param.UnnamedParametric`
      Parameters:
        `value` - the value

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