类 IncludeTool

java.lang.Object
org.apache.velocity.tools.view.IncludeTool
直接已知子类:
MultiViewsTool

@DefaultKey("include") @InvalidScope("application") public class IncludeTool extends Object
Allows for transparent content negotiation in a manner mimicking Apache httpd's MultiViews.

Reads the default language out of the ViewToolContext as org.apache.velocity.tools.view.i18n.defaultLanguage. See find(String, String), find(String, Locale) and exists(String) for usage.

This is the successor to the MultiViewsTool in VelocityTools 1.x. Please note that it does NOT do the actual #include or #parse for you, but is merely to aid in include content negotiation.

从以下版本开始:
VelocityTools 2.0
版本:
$Id: IncludeTool.java 730292 2008-12-31 01:31:09Z nbubna $
作者:
Daniel Rall, Nathan Bubna
  • 字段概要

    字段
    修饰符和类型
    字段
    说明
    protected static final String
    The key used to search initialization, context, and JVM parameters for the default language to use.
    protected String
    The two character abbreviation for the request's default language.
    protected org.apache.velocity.app.VelocityEngine
     
  • 构造器概要

    构造器
    构造器
    说明
     
  • 方法概要

    修饰符和类型
    方法
    说明
    void
    configure(Map params)
    Extracts the default language from the specified ViewContext, looking first at the Velocity context, then the servlet context, then lastly at the JVM default.
    protected void
     
    boolean
    exists(String name)
    Checks to see whether a #parse-able template or #include-able resource exists under the specified name/path.
    boolean
    exists(String name, String language)
    Checks to see whether a localized version of the named template exists for the specified language.
    find(String name)
    Calls find(String, String) using the default language.
    find(String name, String language)
    Finds the a localized version of the requested Velocity resource (such as a file or template) which is most appropriate for the locale of the current request.
    find(String name, Locale locale)
    Calls find(String, String) using the language extracted from locale.

    从类继承的方法 java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • 字段详细资料

    • DEFAULT_LANGUAGE_KEY

      protected static final String DEFAULT_LANGUAGE_KEY
      The key used to search initialization, context, and JVM parameters for the default language to use.
      另请参阅:
    • defaultLanguage

      protected String defaultLanguage
      The two character abbreviation for the request's default language.
    • engine

      protected org.apache.velocity.app.VelocityEngine engine
  • 构造器详细资料

    • IncludeTool

      public IncludeTool()
  • 方法详细资料

    • configure

      public void configure(Map params)
      Extracts the default language from the specified ViewContext, looking first at the Velocity context, then the servlet context, then lastly at the JVM default. This "narrow scope to wide scope" pattern makes it easy to setup language overrides at different levels within your application.
      参数:
      params - the Map of configuration parameters
      抛出:
      IllegalArgumentException - if the param is not a ViewContext
    • configure

      protected void configure(ViewToolContext ctx)
    • find

      public String find(String name, Locale locale)
      Calls find(String, String) using the language extracted from locale.
      另请参阅:
    • find

      public String find(String name)
      Calls find(String, String) using the default language.
      另请参阅:
    • find

      public String find(String name, String language)

      Finds the a localized version of the requested Velocity resource (such as a file or template) which is most appropriate for the locale of the current request. Use in conjuction with Apache httpd's MultiViews, or by itself.

      Usage from a template would be something like the following:

       #parse( $include.find('header.vm', 'en') )
       #include( $include.find('my_page.html', 'en') )
       #parse( $include.find('footer.vm', 'en') )
       
      You might also wrap this method using another pull/view tool which does internationalization/localization/content negation for a single point of access.

      参数:
      name - The unlocalized name of the file to find.
      language - The language to find localized context for.
      返回:
      The localized file name, or name if it is not localizable.
    • exists

      public boolean exists(String name)

      Checks to see whether a #parse-able template or #include-able resource exists under the specified name/path.

      Usage from a template would be something like the following:

       #if( $include.exists('header.vm') )
         #parse( 'header.vm' )
       #end
       
      另请参阅:
      • VelocityEngine.resourceExists(java.lang.String)
    • exists

      public boolean exists(String name, String language)
      Checks to see whether a localized version of the named template exists for the specified language.
      另请参阅: