类 DisplayTool


@DefaultKey("display") public class DisplayTool extends LocaleConfig
Provides general utility methods for controlling the display of references. Currently, this class contains methods for "pretty printing" an array or Collection, methods for truncating the string value of a reference at a configured or specified length, methods for displaying an alternate value when a specified value is null, a method for generating whitespace, a "printf" type of method for formatting messages, and methods for forcing values into "cells" of equal size (via truncation or padding with whitespace).

Example Use:

 tools.xml...
 <tools>
   <toolbox scope="application">
     <tool class="org.apache.velocity.tools.generic.DisplayTool"/>
   </toolbox>
 </tools>

 template...
   #set( $list = [1..5] )
   $display.list($list)
   $display.truncate("This is a long string.", 10)
   Not Null: $display.alt("not null", "--")
   Null: $display.alt($null, "--")

 output...
   1, 2, 3, 4 and 5
   This is...
   Not Null: not null
   Null: --
   
 

从以下版本开始:
VelocityTools 2.0
版本:
$Id: DisplayTool.java 463298 2006-10-12 16:10:32Z henning $
作者:
Sean Legassick, Daniel Rall, Nathan Bubna
  • 字段详细资料

    • LIST_DELIM_KEY

      public static final String LIST_DELIM_KEY
      另请参阅:
    • LIST_FINAL_DELIM_KEY

      public static final String LIST_FINAL_DELIM_KEY
      另请参阅:
    • TRUNCATE_LENGTH_KEY

      public static final String TRUNCATE_LENGTH_KEY
      另请参阅:
    • TRUNCATE_SUFFIX_KEY

      public static final String TRUNCATE_SUFFIX_KEY
      另请参阅:
    • TRUNCATE_AT_WORD_KEY

      public static final String TRUNCATE_AT_WORD_KEY
      另请参阅:
    • CELL_LENGTH_KEY

      public static final String CELL_LENGTH_KEY
      另请参阅:
    • CELL_SUFFIX_KEY

      public static final String CELL_SUFFIX_KEY
      另请参阅:
    • DEFAULT_ALTERNATE_KEY

      public static final String DEFAULT_ALTERNATE_KEY
      另请参阅:
    • ALLOWED_TAGS_KEY

      public static final String ALLOWED_TAGS_KEY
      另请参阅:
    • defaultDelim

      private String defaultDelim
    • defaultFinalDelim

      private String defaultFinalDelim
    • defaultTruncateLength

      private int defaultTruncateLength
    • defaultTruncateSuffix

      private String defaultTruncateSuffix
    • defaultTruncateAtWord

      private boolean defaultTruncateAtWord
    • defaultCellLength

      private int defaultCellLength
    • defaultCellSuffix

      private String defaultCellSuffix
    • defaultAlternate

      private String defaultAlternate
    • defaultAllowedTags

      private String[] defaultAllowedTags
  • 构造器详细资料

    • DisplayTool

      public DisplayTool()
  • 方法详细资料

    • configure

      protected void configure(ValueParser values)
      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
    • getListDelimiter

      public String getListDelimiter()
    • setListDelimiter

      protected void setListDelimiter(String delim)
    • getListFinalDelimiter

      public String getListFinalDelimiter()
    • setListFinalDelimiter

      protected void setListFinalDelimiter(String finalDelim)
    • getTruncateLength

      public int getTruncateLength()
    • setTruncateLength

      protected void setTruncateLength(int maxlen)
    • getTruncateSuffix

      public String getTruncateSuffix()
    • setTruncateSuffix

      protected void setTruncateSuffix(String suffix)
    • getTruncateAtWord

      public boolean getTruncateAtWord()
    • setTruncateAtWord

      protected void setTruncateAtWord(boolean atWord)
    • getCellSuffix

      public String getCellSuffix()
    • setCellSuffix

      protected void setCellSuffix(String suffix)
    • getCellLength

      public int getCellLength()
    • setCellLength

      protected void setCellLength(int maxlen)
    • getDefaultAlternate

      public String getDefaultAlternate()
    • setDefaultAlternate

      protected void setDefaultAlternate(String dflt)
    • getAllowedTags

      public String[] getAllowedTags()
    • setAllowedTags

      protected void setAllowedTags(String[] tags)
    • list

      public String list(Object list)
      Formats a collection or array into the form "A, B and C".
      参数:
      list - A collection or array.
      返回:
      A String.
    • list

      public String list(Object list, String delim)
      Formats a collection or array into the form "A<delim>B<delim>C".
      参数:
      list - A collection or array.
      delim - A String.
      返回:
      A String.
    • list

      public String list(Object list, String delim, String finaldelim)
      Formats a collection or array into the form "A<delim>B<finaldelim>C".
      参数:
      list - A collection or array.
      delim - A String.
      finaldelim - A String.
      返回:
      A String.
    • list

      public String list(Object list, String delim, String finaldelim, String property)
      Formats a specified property of collection or array of objects into the form "A<delim>B<finaldelim>C".
      参数:
      list - A collection or array.
      delim - A String.
      finaldelim - A String.
      property - An object property to format.
      返回:
      A String.
    • format

      protected String format(Collection list, String delim, String finaldelim, String property)
      Does the actual formatting of the collection.
    • message

      @Deprecated public String message(String format, Collection args)
      已过时。
      Will be unnecessary with Velocity 1.6
    • message

      @Deprecated public String message(String format, Object arg)
      已过时。
      Will be unnecessary with Velocity 1.6
    • message

      @Deprecated public String message(String format, Object arg1, Object arg2)
      已过时。
      Will be unnecessary with Velocity 1.6
    • message

      public String message(String format, Object... args)
      Uses MessageFormat to format the specified String with the specified arguments. If there are no arguments, then the String is returned directly. Please note that the format required here is quite different from that of printf(String,Object...).
      从以下版本开始:
      VelocityTools 2.0
    • printf

      public String printf(String format, Object... args)
      Uses {@link String#format(Locale,String,Object...} to format the specified String with the specified arguments. Please note that the format required here is quite different from that of message(String,Object...).
      从以下版本开始:
      VelocityTools 2.0
      另请参阅:
    • truncate

      public String truncate(Object truncateMe)
      Limits the string value of 'truncateMe' to the configured max length in characters (default is 30 characters). If the string gets curtailed, the configured suffix (default is "...") is used as the ending of the truncated string.
      参数:
      truncateMe - The value to be truncated.
      返回:
      A String.
    • truncate

      public String truncate(Object truncateMe, int maxLength)
      Limits the string value of 'truncateMe' to 'maxLength' characters. If the string gets curtailed, the configured suffix (default is "...") is used as the ending of the truncated string.
      参数:
      maxLength - An int with the maximum length.
      truncateMe - The value to be truncated.
      返回:
      A String.
    • truncate

      public String truncate(Object truncateMe, String suffix)
      Limits the string value of 'truncateMe' to the configured max length in characters (default is 30 characters). If the string gets curtailed, the specified suffix is used as the ending of the truncated string.
      参数:
      truncateMe - The value to be truncated.
      suffix - A String.
      返回:
      A String.
    • truncate

      public String truncate(Object truncateMe, int maxLength, String suffix)
      Limits the string value of 'truncateMe' to the specified max length in characters. If the string gets curtailed, the specified suffix is used as the ending of the truncated string.
      参数:
      truncateMe - The value to be truncated.
      maxLength - An int with the maximum length.
      suffix - A String.
      返回:
      A String.
    • truncate

      public String truncate(Object truncateMe, int maxLength, String suffix, boolean defaultTruncateAtWord)
      Limits the string value of 'truncateMe' to the latest complete word within the specified maxLength. If the string gets curtailed, the specified suffix is used as the ending of the truncated string.
      参数:
      truncateMe - The value to be truncated.
      maxLength - An int with the maximum length.
      suffix - A String.
      defaultTruncateAtWord - Truncate at a word boundary if true.
      返回:
      A String.
    • space

      public String space(int length)
      Returns a string of spaces of the specified length.
      参数:
      length - the number of spaces to return
    • cell

      public String cell(Object obj)
      Truncates or pads the string value of the specified object as necessary to ensure that the returned string's length equals the default cell size.
      参数:
      obj - the value to be put in the 'cell'
    • cell

      public String cell(Object obj, int cellsize)
      Truncates or pads the string value of the specified object as necessary to ensure that the returned string's length equals the specified cell size.
      参数:
      obj - the value to be put in the 'cell'
      cellsize - the size of the cell into which the object must be placed
    • cell

      public String cell(Object obj, String suffix)
      Truncates or pads the string value of the specified object as necessary to ensure that the returned string's length equals the default cell size. If truncation is necessary, the specified suffix will replace the end of the string value to indicate that.
      参数:
      obj - the value to be put in the 'cell'
      suffix - the suffix to put at the end of any values that need truncating to indicate that they've been truncated
    • cell

      public String cell(Object obj, int cellsize, String suffix)
      Truncates or pads the string value of the specified object as necessary to ensure that the returned string's length equals the specified cell size.
      参数:
      obj - the value to be put in the 'cell'
      cellsize - the size of the cell into which the object must be placed
      suffix - the suffix to put at the end of any values that need truncating to indicate that they've been truncated
    • capitalize

      public String capitalize(Object capitalizeMe)
      Changes the first character of the string value of the specified object to upper case and returns the resulting string.
      参数:
      capitalizeMe - The value to be capitalized.
    • uncapitalize

      public String uncapitalize(Object uncapitalizeMe)
      Changes the first character of the string value of the specified object to lower case and returns the resulting string.
      参数:
      uncapitalizeMe - The value to be uncapitalized.
    • alt

      public Object alt(Object checkMe)
      Returns a configured default value if specified value is null.
      参数:
      checkMe -
      返回:
      a configured default value if the specified value is null.
    • alt

      public Object alt(Object checkMe, Object alternate)
      Returns the second argument if first argument specified is null.
      参数:
      checkMe -
      alternate -
      返回:
      the second argument if the first is null.
    • br

      public String br(Object obj)
      Inserts HTML line break tag (<br />) in front of all newline characters of the string value of the specified object and returns the resulting string.
      参数:
      obj -
    • stripTags

      public String stripTags(Object obj)
      Removes HTML tags from the string value of the specified object and returns the resulting string.
      参数:
      obj -
    • stripTags

      public String stripTags(Object obj, String... allowedTags)
      Removes all not allowed HTML tags from the string value of the specified object and returns the resulting string.
      参数:
      obj -
      allowedTags - An array of allowed tag names (i.e. "h1","br","img")
    • plural

      public String plural(int value, String singular)
      Builds plural form of a passed word if 'value' is plural, otherwise returns 'singular'. Plural form is built using some basic English language rules for nouns which does not guarantee correct syntax of a result in all cases.
      参数:
      value -
      singular - Singular form of a word.
    • plural

      public String plural(int value, String singular, String plural)
      Returns 'plural' parameter if passed 'value' is plural, otherwise 'singular' is returned.
      参数:
      value -
      singular - Singular form of a word.
      plural - Plural form of a word.
    • getProperty

      protected Object getProperty(Object object, String property)
      Safely retrieves the specified property from the specified object. Subclasses that wish to perform more advanced, efficient, or just different property retrieval methods should override this method to do so.
    • measure

      public DisplayTool.Measurements measure(Object measureMe)
      Returns the DisplayTool.Measurements of the string value of the specified object.