Class MessageTool


  • @DefaultKey("text")
    @ValidScope("request")
    public class MessageTool
    extends MessageResourcesTool

    The MessageTool is used to render internationalized message strings. Source of the strings are the message resource bundles of the Struts framework. The following methods operate on these message resources.

     Template example(s):
       #if( $text.greeting.exists )
         $text.greeting
       #end
    
     Toolbox configuration:
     <tools>
       <toolbox scope="request">
         <tool class="org.apache.velocity.tools.struts.MessageTool"/>
       </toolbox>
     </tools>
     

    This tool should only be used in the request scope.

    Since:
    VelocityTools 1.0
    Version:
    $Id: MessageTool.java 601976 2007-12-07 03:50:51Z nbubna $
    Author:
    Gabe Sidler
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      class  MessageTool.TextKey
      Helper class to simplify tool usage when retrieving no-arg messages from the default bundle that have periods in their key.
    • Constructor Summary

      Constructors 
      Constructor Description
      MessageTool()  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean exists​(java.lang.String key)
      Checks if a message string for a specified message key exists for the user's locale.
      boolean exists​(java.lang.String key, java.lang.String bundle)
      Checks if a message string for a specified message key exists for the user's locale.
      MessageTool.TextKey get​(java.lang.String key)
      Looks up and returns the localized message for the specified key.
      java.lang.String get​(java.lang.String key, java.lang.Object[] args)
      Looks up and returns the localized message for the specified key.
      java.lang.String get​(java.lang.String key, java.lang.String bundle)
      Looks up and returns the localized message for the specified key.
      java.lang.String get​(java.lang.String key, java.lang.String bundle, java.lang.Object[] args)
      Looks up and returns the localized message for the specified key.
      java.lang.String get​(java.lang.String key, java.lang.String bundle, java.lang.Object[] args, java.util.Locale locale)
      Looks up and returns the localized message for the specified key.
      java.lang.String get​(java.lang.String key, java.lang.String bundle, java.util.List args)
      Same as get(String key, Object[] args), but takes a java.util.List instead of an array.
      java.lang.String get​(java.lang.String key, java.lang.String bundle, java.util.List args, java.util.Locale locale)
      Looks up and returns the localized message for the specified key.
      java.lang.String get​(java.lang.String key, java.util.List args)
      Same as get(String key, Object[] args), but takes a java.util.List instead of an array.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • MessageTool

        public MessageTool()
    • Method Detail

      • get

        public MessageTool.TextKey get​(java.lang.String key)
        Looks up and returns the localized message for the specified key. The user's locale is consulted to determine the language of the message.

        Example use: $text.forms.profile.title

        Parameters:
        key - message key
      • get

        public java.lang.String get​(java.lang.String key,
                                    java.lang.String bundle)
        Looks up and returns the localized message for the specified key. The user's locale is consulted to determine the language of the message.
        Parameters:
        key - message key
        bundle - The bundle name to look for.
        Returns:
        the localized message for the specified key or null if no such message exists
        Since:
        VelocityTools 1.1
      • get

        public java.lang.String get​(java.lang.String key,
                                    java.lang.Object[] args)
        Looks up and returns the localized message for the specified key. Replacement parameters passed with args are inserted into the message. The user's locale is consulted to determine the language of the message.
        Parameters:
        key - message key
        args - replacement parameters for this message
        Returns:
        the localized message for the specified key or null if no such message exists
      • get

        public java.lang.String get​(java.lang.String key,
                                    java.lang.String bundle,
                                    java.lang.Object[] args)
        Looks up and returns the localized message for the specified key. Replacement parameters passed with args are inserted into the message. The user's locale is consulted to determine the language of the message.
        Parameters:
        key - message key
        bundle - The bundle name to look for.
        args - replacement parameters for this message
        Returns:
        the localized message for the specified key or null if no such message exists
        Since:
        VelocityTools 1.1
      • get

        public java.lang.String get​(java.lang.String key,
                                    java.lang.String bundle,
                                    java.lang.Object[] args,
                                    java.util.Locale locale)
        Looks up and returns the localized message for the specified key. Replacement parameters passed with args are inserted into the message.
        Parameters:
        key - message key
        bundle - The bundle name to look for.
        args - replacement parameters for this message
        locale - The locale to use for this message.
        Returns:
        the localized message for the specified key or null if no such message exists
        Since:
        VelocityTools 1.4
      • get

        public java.lang.String get​(java.lang.String key,
                                    java.util.List args)
        Same as get(String key, Object[] args), but takes a java.util.List instead of an array. This is more Velocity friendly.
        Parameters:
        key - message key
        args - replacement parameters for this message
        Returns:
        the localized message for the specified key or null if no such message exists
      • get

        public java.lang.String get​(java.lang.String key,
                                    java.lang.String bundle,
                                    java.util.List args)
        Same as get(String key, Object[] args), but takes a java.util.List instead of an array. This is more Velocity friendly.
        Parameters:
        key - message key
        bundle - The bundle name to look for.
        args - replacement parameters for this message
        Returns:
        the localized message for the specified key or null if no such message exists
        Since:
        VelocityTools 1.1
      • get

        public java.lang.String get​(java.lang.String key,
                                    java.lang.String bundle,
                                    java.util.List args,
                                    java.util.Locale locale)
        Looks up and returns the localized message for the specified key. Replacement parameters passed with args are inserted into the message.
        Parameters:
        key - message key
        bundle - The bundle name to look for.
        args - replacement parameters for this message
        locale - The locale to use for this message.
        Returns:
        the localized message for the specified key or null if no such message exists
        Since:
        VelocityTools 1.4
      • exists

        public boolean exists​(java.lang.String key)
        Checks if a message string for a specified message key exists for the user's locale.
        Parameters:
        key - message key
        Returns:
        true if a message strings exists, false otherwise
      • exists

        public boolean exists​(java.lang.String key,
                              java.lang.String bundle)
        Checks if a message string for a specified message key exists for the user's locale.
        Parameters:
        key - message key
        bundle - The bundle name to look for.
        Returns:
        true if a message strings exists, false otherwise
        Since:
        VelocityTools 1.1