Class 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:
  • Field Details

    • values

      protected List<Object> values
    • actualName

      protected String actualName
    • name

      protected String name
  • Constructor Details

  • Method Details

    • 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