类 ResourceTool

所有已实现的接口:
Serializable

@DefaultKey("text") public class ResourceTool extends LocaleConfig implements Serializable

Tool for accessing ResourceBundles and formatting messages therein.

Template example(s):

   $text.foo                      ->  bar
   $text.hello.world              ->  Hello World!
   $text.keys                     ->  [foo, hello.world, world]
   #set( $otherText = $text.bundle('otherBundle') )
   $otherText.foo                 ->  woogie
   $otherText.bar                 ->  The args are {0} and {1}.
   $otherText.bar.insert(4)       ->  The args are 4 and {1}.
   $otherText.bar.insert(4,true)  ->  The args are 4 and true.

 Toolbox configuration example:
 <tools>
   <toolbox scope="request">
     <tool class="org.apache.velocity.tools.generic.ResourceTool"
              bundles="resources,com.foo.moreResources"
              locale="en_US"/>
   </toolbox>
 </tools>
 

This comes in very handy when internationalizing templates. Note that the default resource bundle baseName is "resources", and the default locale is either:

  • the result of HttpServletRequest.getLocale() (if used in request scope of a VelocityView app)
  • the configured locale for this tool (as shown above)
  • the configured locale for the toolbox this tool is in
  • the configured locale for the toolbox factory managing this tool
  • the system locale, if none of the above

Also, be aware that very few performance considerations have been made in this initial version. It should do fine, but if you have performance issues, please report them to dev@velocity.apache.org, so we can make improvements.

从以下版本开始:
VelocityTools 1.3
版本:
$Revision$ $Date: 2006-11-27 10:49:37 -0800 (Mon, 27 Nov 2006) $
作者:
Nathan Bubna
另请参阅:
  • 字段详细资料

  • 构造器详细资料

    • ResourceTool

      public ResourceTool()
  • 方法详细资料

    • setDefaultBundle

      protected final void setDefaultBundle(String bundle)
    • getDefaultBundle

      protected final String getDefaultBundle()
    • configure

      protected void configure(ValueParser parser)
      从类复制的说明: LocaleConfig
      Does the actual configuration. This is protected, so subclasses may share the same ValueParser and call configure at any time, while preventing templates from doing so when configure(Map) is locked.
      覆盖:
      configure 在类中 LocaleConfig
      参数:
      parser - configuration values
    • get

      public ResourceTool.Key get(Object k)
      Accepts objects and uses their string value as the key.
      参数:
      k - key
      返回:
      Key object
    • get

      public ResourceTool.Key get(String key)
      Accepts objects and uses their string value as the key.
      参数:
      key - key
      返回:
      Key object
    • getKeys

      public List<String> getKeys()
      Lists available keys
      返回:
      keys list
    • bundle

      public ResourceTool.Key bundle(String bundle)
    • locale

      public ResourceTool.Key locale(Object locale)
    • insert

      public ResourceTool.Key insert(Object[] args)
    • insert

      public ResourceTool.Key insert(List args)
    • insert

      public ResourceTool.Key insert(Object arg)
    • insert

      public ResourceTool.Key insert(Object arg0, Object arg1)
    • getBundle

      protected ResourceBundle getBundle(String baseName, Object loc)
      Retrieves the ResourceBundle for the specified baseName and locale, if such exists. If the baseName or locale is null or if the locale argument cannot be converted to a Locale, then this will return null.
      参数:
      baseName - base name
      loc - locale
      返回:
      resource bundle
    • get

      public Object get(Object key, String baseName, Object loc)
      Returns the value for the specified key in the ResourceBundle for the specified basename and locale. If no such resource can be found, no errors are thrown and null is returned.
      参数:
      key - the key for the requested resource
      baseName - the base name of the resource bundle to search
      loc - the locale to use
      返回:
      value
    • get

      public Object get(Object k, String[] bundles, Object l)
      Retrieve a resource for the specified key from the first of the specified bundles in which a matching resource is found. If no resource is found, no exception will be thrown and null will be returned.
      参数:
      k - the key for the requested resource
      bundles - the resource bundles to search
      l - the locale to use
      返回:
      value
    • getKeys

      public List<String> getKeys(String prefix, String baseName, Object loc)
      Returns a List of the key strings in the ResourceBundle with the specified baseName and locale. If the specified prefix is not null, then this will skip any keys that do not begin with that prefix and trim the prefix and any subsequent '.' off of the remaining ones. If the prefix is null, then no filtering or trimming will be done.
      参数:
      prefix - the prefix for the requested keys
      baseName - the resource bundle base name
      loc - the locale to use
      返回:
      keys list
    • getKeys

      public List<String> getKeys(String prefix, String[] bundles, Object loc)
      Returns a List of the key strings in the specified ResourceBundles. If the specified prefix is not null, then this will skip any keys that do not begin with that prefix and trim the prefix and any subsequent '.' off of the remaining ones. If the prefix is null, then no filtering or trimming will be done.
      参数:
      prefix - the prefix for the requested keys
      bundles - the resource bundles to search
      loc - the locale to use
      返回:
      keys list
      另请参阅:
    • render

      public String render(Object resource, Object[] args)
      Renders the specified resource value and arguments as a String. The resource is treated as a MessageFormat pattern which is used for formatting along with any specified argument values.
      参数:
      resource - resource object
      args - arguments
      返回:
      formatted string