在velocity使用toolbox.xml

首先必須在web.xml中添加: 
<init-param> 
<param-name>org.apache.velocity.toolbox</param-name> 
<param-value>/WEB-INF/toolbox.xml</param-value>      
</init-param> 
纔可以使用toolbox.xml中定義的變量。 

舉例說明用法 
比如我要使用日期,可以如下定義: 
<toolbox> 
<tool> 
   <key>date</key> 
   <scope>application</scope> 
   <class>org.apache.velocity.tools.generic.DateTool</class> 
   <parameter name="format" value="yyyy-M-d"/> 
</tool> 
</toolbox> 
這裏DateTool是velocity爲我們預定義的工具類,還有很多其他工具類(比如:MathTool,ListTool,SortTool...) 
date是這個類的實例,這樣我們就可以在.vm中使用$date來引用DateTool中的方法了,如  $date.get('yyyy-M-d H:m:s') 

如果我們要使用自己的類,只需要把org.apache.velocity.tools.generic.DateTool這部分替換成自己定義的類,然後再初始化該類的實例,比如<key>class</key> 
在.vm中這樣用$class.getXXX() 

toolbox.xml典型配置: 

<?xml version="1.0" encoding="UTF-8"?>  
<!--  
=============================================================  
  @(#) toolbox.xml  
       
  Copyright (c) 2005, HOBOKEN Project, All Rights Reserved.  
=============================================================  
-->  
  
<toolbox>  
  
    <!-- [ DateTool ]  
         @see http://www.jajakarta.org/velocity/tools/velocity-tools-1.1/docs-ja/generic/DateTool.html  (ja)  
        @see http://velocity.apache.org/tools/devel/javadoc/org/apache/velocity/tools/generic/DateTool.html  (en)  
        @since VelocityTools 1.0  
    -->  
    <tool>  
        <key>date</key>  
        <scope>application</scope>  
        <class>org.apache.velocity.tools.generic.DateTool</class>  
    </tool>  
      
    <!-- [ MathTool ]  
        @see http://www.jajakarta.org/velocity/tools/velocity-tools-1.1/docs-ja/generic/MathTool.html  (ja)  
        @see http://velocity.apache.org/tools/devel/generic/MathTool.html  (en)  
        @since VelocityTools 1.0  
    -->  
    <tool>  
        <key>math</key>  
        <scope>application</scope>  
        <class>org.apache.velocity.tools.generic.MathTool</class>  
    </tool>  
      
    <!-- [ NumberTool ]  
        @see http://velocity.apache.org/tools/devel/javadoc/org/apache/velocity/tools/generic/NumberTool.html  (en)  
        @since VelocityTools 1.2  
    -->  
    <tool>  
        <key>number</key>  
        <scope>application</scope>  
        <class>org.apache.velocity.tools.generic.NumberTool</class>  
    </tool>  
      
    <!-- [ RenderTool ]  
        @see http://velocity.apache.org/tools/devel/generic/RenderTool.html  (en)  
        @since VelocityTools 1.0  
      
    <tool>  
        <key>render</key>  
        <scope>application</scope>  
        <class>org.apache.velocity.tools.generic.RenderTool</class>  
    </tool>  
    -->  
      
    <!-- [ EscapeTool ]  
        @see http://velocity.apache.org/tools/devel/generic/EscapeTool.html  (en)  
        @since VelocityTools 1.2  
    -->  
    <tool>  
        <key>esc</key>  
        <scope>application</scope>  
        <class>org.apache.velocity.tools.generic.EscapeTool</class>  
    </tool>  
      
    <!-- [ ResourceTool ]  
               @see http://velocity.apache.org/tools/devel/javadoc/org/apache/velocity/tools/generic/ResourceTool.html  (en)  
        @since Velocity 1.3  
    <tool>  
        <key>text</key>  
        <class>org.apache.velocity.tools.generic.ResourceTool</class>  
        <parameter name="bundles" value="resources,prj.hoboken.patrasche.resources.PatrascheResources" />  
        <parameter name="locale" value="ja_JP" />  
    </tool>  
    -->  
      
    <!-- [ AlternatorTool ]  
  
        @see http://velocity.apache.org/tools/devel/javadoc/org/apache/velocity/tools/generic/AlternatorTool.html  (en)  
        @since VelocityTools 1.2  
    -->  
    <tool>  
        <key>alternator</key>  
        <scope>application</scope>  
        <class>org.apache.velocity.tools.generic.AlternatorTool</class>  
    </tool>  
      
    <!-- [ ValueParser ]  
  
        @see http://velocity.apache.org/tools/devel/javadoc/org/apache/velocity/tools/generic/ValueParser.html  (en)  
        @since VelocityTools 1.2  
    -->  
    <tool>  
        <key>parser</key>  
        <scope>application</scope>  
        <class>org.apache.velocity.tools.generic.ValueParser</class>  
    </tool>  
      
    <!-- [ ListTool ]  
  
        @see http://velocity.apache.org/tools/devel/javadoc/org/apache/velocity/tools/generic/ListTool.html  (en)  
        @since VelocityTools 1.2  
    -->  
    <tool>  
        <key>list</key>  
        <scope>application</scope>  
        <class>org.apache.velocity.tools.generic.ListTool</class>  
    </tool>  
      
    <!-- [ SortTool ]  
  
        @see http://velocity.apache.org/tools/devel/javadoc/org/apache/velocity/tools/generic/SortTool.html  (en)  
        @since VelocityTools 1.2  
    -->  
    <tool>  
        <key>sorter</key>  
        <scope>application</scope>  
        <class>org.apache.velocity.tools.generic.SortTool</class>  
    </tool>  
      
    <!-- [ IteratorTool ]  
        @see http://velocity.apache.org/tools/devel/javadoc/org/apache/velocity/tools/generic/IteratorTool.html  (en)  
        @since VelocityTools 1.0  
    -->  
    <tool>  
        <key>mill</key>  
        <scope>request</scope>  
        <class>org.apache.velocity.tools.generic.IteratorTool</class>  
    </tool>  
          
<!--  
============================================================  
  [ TOOL FOR STRUTS TAGLIB ]  
============================================================  
-->  
    <!-- [ ActionMessagesTool ]           
        @see http://www.jajakarta.org/velocity/tools/velocity-tools-1.1/docs-ja/struts/ActionMessagesTool.html  (ja)  
        @see http://velocity.apache.org/tools/devel/struts/ActionMessagesTool.html  (en)  
        @since VelocityTools 1.1  
    -->  
    <tool>  
        <key>messages</key>  
        <scope>request</scope>  
        <class>org.apache.velocity.tools.struts.ActionMessagesTool</class>  
    </tool>  
      
    <!-- [ ErrorsTool ]  
        @see http://www.jajakarta.org/velocity/tools/velocity-tools-1.1/docs-ja/struts/ErrorsTool.html  (ja)  
        @see http://velocity.apache.org/tools/devel/struts/ErrorsTool.html  (en)  
        @since VelocityTools 1.0  
    -->  
    <tool>  
        <key>errors</key>  
        <scope>request</scope>  
        <class>org.apache.velocity.tools.struts.ErrorsTool</class>  
    </tool>  
      
    <!-- [ FormTool ]  
        @see http://www.jajakarta.org/velocity/tools/velocity-tools-1.1/docs-ja/struts/FormTool.html (ja)  
        @see http://velocity.apache.org/tools/devel/struts/FormTool.html (en)  
        @since VelocityTools 1.0  
    -->  
    <tool>  
        <key>form</key>  
        <scope>request</scope>  
        <class>org.apache.velocity.tools.struts.FormTool</class>  
    </tool>  
      
    <!-- [ MessageTool ]  
         @see http://www.jajakarta.org/velocity/tools/velocity-tools-1.1/docs-ja/struts/MessageTool.html (ja)  
        @see http://velocity.apache.org/tools/devel/struts/MessageTool.html  (en)  
        @since VelocityTools 1.0  
    -->  
    <tool>  
        <key>resource</key>  
        <scope>request</scope>  
        <class>org.apache.velocity.tools.struts.MessageTool</class>  
    </tool>  
      
    <!-- [ StrutsLinkTool ]  
        LinkTool           
        @see http://www.jajakarta.org/velocity/tools/velocity-tools-1.1/docs-ja/struts/StrutsLinkTool.html  (ja)  
        @see http://velocity.apache.org/tools/devel/struts/StrutsLinkTool.html  (en)  
        @since VelocityTools 1.0  
    -->  
    <tool>  
        <key>slink</key>  
        <scope>request</scope>  
        <class>org.apache.velocity.tools.struts.StrutsLinkTool</class>  
    </tool>  
      
    <!-- [ SecureLinkTool ]  
        LinkTool           
        @see http://www.jajakarta.org/velocity/tools/velocity-tools-1.1/docs-ja/struts/SecureLinkTool.html  (ja)  
        @see http://velocity.apache.org/tools/devel/struts/SecureLinkTool.html  (en)  
        @since VelocityTools 1.1  
    -->  
    <tool>  
        <key>sslink</key>  
        <scope>request</scope>  
        <class>org.apache.velocity.tools.struts.SecureLinkTool</class>  
    </tool>  
      
    <!-- [ TilesTool ]  
        Tiles           
        @see http://www.jajakarta.org/velocity/tools/velocity-tools-1.1/docs-ja/struts/TilesTool.html  (ja)  
        @see http://velocity.apache.org/tools/devel/struts/TilesTool.html  (en)  
        @since VelocityTools 1.1  
    -->  
    <tool>  
        <key>tiles</key>  
        <scope>request</scope>  
        <class>org.apache.velocity.tools.struts.TilesTool</class>  
    </tool>  
      
    <!-- [ ValidatorTool ]  
        Validator           
        @see http://www.jajakarta.org/velocity/tools/velocity-tools-1.1/docs-ja/struts/ValidatorTool.html  (ja)  
        @see http://velocity.apache.org/tools/devel/struts/ValidatorTool.html  (en)  
        @since VelocityTools 1.1  
    -->  
    <tool>  
        <key>validator</key>  
        <scope>request</scope>  
        <class>org.apache.velocity.tools.struts.ValidatorTool</class>  
    </tool>  
  
  
    <data type="string">  
        <scope>request</scope>  
        <key>app_version</key><value>3.0</value>  
    </data>  
    <data type="string">  
        <scope>request</scope>  
        <key>app_name</key><value>Patrasche</value>  
    </data>  
      
    <data type="string">  
        <scope>request</scope>  
        <key>next</key><value>/images/icon/next.jpg</value>  
    </data>  
    <data type="string">  
        <scope>request</scope>  
        <key>prev</key><value>/images/icon/prev.jpg</value>  
    </data>  
    <data type="string">  
        <scope>request</scope>  
        <key>top-page</key><value>/images/icon/top-page.jpg</value>  
    </data>  
    <data type="string">  
        <scope>request</scope>  
        <key>last-page</key><value>/images/icon/last-page.jpg</value>  
    </data>  
    <data type="string">  
        <scope>request</scope>  
        <key>pageIcon</key><value>/images/icon/page.png</value>  
    </data>  
    <data type="string">  
        <scope>request</scope>  
        <key>bookIcon</key><value>/images/icon/book.png</value>  
    </data>  
    <data type="string">  
        <scope>request</scope>  
        <key>defaultStyle</key><value>./web/default.css</value>  
    </data>  
    <data type="string">  
        <scope>request</scope>  
       <key>errorMetaHeader</key><value>/error/default_header.vm</value>  
    </data>  
    <data type="string">  
        <scope>request</scope>  
        <key>errorStyle</key><value>/error/error.css</value>  
    </data>  
    <data type="string">  
        <scope>request</scope>  
        <key>detailOfHTTP</key><value>./error/detail_HttpError.vm</value>  
    </data>  
    <data type="string">  
        <scope>request</scope>  
        <key>detailOfSERV</key><value>./error/detail_ServerError.vm</value>  
    </data>  
    <data type="string">  
        <scope>request</scope>  
        <key>multiPart</key><value>enctype='multipart/form-data'</value>  
    </data>  
    <data type="string">  
        <scope>request</scope>  
        <key>parentMark</key><value>..</value>  
    </data>  
    <data type="string">  
        <scope>request</scope>  
        <key>chartToolTips</key><value>toolTips</value>  
    </data>  
    <data type="string">  
        <scope>request</scope>  
        <key>chartClickable</key><value>isClickable</value>  
    </data>  
      
    <!-- [ NullTool ]  
    -->  
    <tool>  
        <key>null</key>  
        <scope>application</scope>  
        <class>com.company.util.velocity.NullTool</class>  
    </tool>  
  
    <!-- [ StringTool ]  
        文字操作          
    -->  
    <tool>  
        <key>words</key>  
        <scope>application</scope>  
        <class>com.company.util.velocity.StringTool</class>  
    </tool>  
      
    <!-- [ PageScrolllTool ]  
                  
    -->  
    <tool>  
        <key>pager</key>  
        <scope>session</scope>  
        <class>com.company.util.velocity.PageScrollTool</class>  
    </tool>  
  
    <!-- [ LoginUserTool ]  
    -->  
    <tool>  
        <key>loginuser</key>  
        <scope>request</scope>  
        <class>com.company.util.velocity.LoginUserTool</class>  
    </tool>  
  
    <!-- [ MenuTool ]  
    -->  
    <tool>  
        <key>menuviewer</key>  
        <scope>request</scope>  
        <class>com.company.util.velocity.MenuTool</class>  
    </tool>  
      
    <!-- [ FileSystemTool ]  
          
    -->  
    <tool>  
        <key>filesys</key>  
        <scope>request</scope>  
       <class>com.company.util.velocity.contrib.FileSystemTool</class>  
    </tool>  
      
    <!-- [ ExceptionTool ]          
          
    -->  
    <tool>  
        <key>exception</key>  
        <scope>request</scope>  
        <class>com.company.util.velocity.ExceptionTool</class>  
    </tool>  
      
    <!-- [ POITool ]                
        使用自己寫的操作Excel的類  
    -->  
    <tool>  
        <key>poi</key>  
        <scope>request</scope>  
        <class>com.company.util.velocity.POITool</class>  
    </tool>  
  
    <!-- [ ConstantTool ]  
        使用自己定義的常量。  
    -->  
    <tool>  
        <key>constant</key>  
        <scope>application</scope>  
        <class>com.company.Constant</class>  
    </tool>  
      
</toolbox>  


發佈了313 篇原創文章 · 獲贊 49 · 訪問量 87萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章