`
shuai1234
  • 浏览: 972470 次
  • 性别: Icon_minigender_1
  • 来自: 山西
社区版块
存档分类
最新评论

在velocity使用toolbox.xml

    博客分类:
  • java
 
阅读更多
首先必须在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典型配置: 

Java代码  
1.<?xml version="1.0" encoding="UTF-8"?>   
2.<!--   
3.=============================================================   
4.  @(#) toolbox.xml   
5.        
6.  Copyright (c) 2005, HOBOKEN Project, All Rights Reserved.   
7.=============================================================   
8.-->   
9.  
10.<toolbox>   
11.  
12.    <!-- [ DateTool ]   
13.         @see http://www.jajakarta.org/velocity/tools/velocity-tools-1.1/docs-ja/generic/DateTool.html  (ja)   
14.        @see http://velocity.apache.org/tools/devel/javadoc/org/apache/velocity/tools/generic/DateTool.html  (en)   
15.        @since VelocityTools 1.0  
16.    -->   
17.    <tool>   
18.        <key>date</key>   
19.        <scope>application</scope>   
20.        <class>org.apache.velocity.tools.generic.DateTool</class>   
21.    </tool>   
22.       
23.    <!-- [ MathTool ]   
24.        @see http://www.jajakarta.org/velocity/tools/velocity-tools-1.1/docs-ja/generic/MathTool.html  (ja)   
25.        @see http://velocity.apache.org/tools/devel/generic/MathTool.html  (en)   
26.        @since VelocityTools 1.0  
27.    -->   
28.    <tool>   
29.        <key>math</key>   
30.        <scope>application</scope>   
31.        <class>org.apache.velocity.tools.generic.MathTool</class>   
32.    </tool>   
33.       
34.    <!-- [ NumberTool ]   
35.        @see http://velocity.apache.org/tools/devel/javadoc/org/apache/velocity/tools/generic/NumberTool.html  (en)   
36.        @since VelocityTools 1.2  
37.    -->   
38.    <tool>   
39.        <key>number</key>   
40.        <scope>application</scope>   
41.        <class>org.apache.velocity.tools.generic.NumberTool</class>   
42.    </tool>   
43.       
44.    <!-- [ RenderTool ]   
45.        @see http://velocity.apache.org/tools/devel/generic/RenderTool.html  (en)   
46.        @since VelocityTools 1.0  
47.       
48.    <tool>   
49.        <key>render</key>   
50.        <scope>application</scope>   
51.        <class>org.apache.velocity.tools.generic.RenderTool</class>   
52.    </tool>   
53.    -->   
54.       
55.    <!-- [ EscapeTool ]   
56.        @see http://velocity.apache.org/tools/devel/generic/EscapeTool.html  (en)   
57.        @since VelocityTools 1.2  
58.    -->   
59.    <tool>   
60.        <key>esc</key>   
61.        <scope>application</scope>   
62.        <class>org.apache.velocity.tools.generic.EscapeTool</class>   
63.    </tool>   
64.       
65.    <!-- [ ResourceTool ]   
66.               @see http://velocity.apache.org/tools/devel/javadoc/org/apache/velocity/tools/generic/ResourceTool.html  (en)   
67.        @since Velocity 1.3  
68.    <tool>   
69.        <key>text</key>   
70.        <class>org.apache.velocity.tools.generic.ResourceTool</class>   
71.        <parameter name="bundles" value="resources,prj.hoboken.patrasche.resources.PatrascheResources" />   
72.        <parameter name="locale" value="ja_JP" />   
73.    </tool>   
74.    -->   
75.       
76.    <!-- [ AlternatorTool ]   
77.  
78.        @see http://velocity.apache.org/tools/devel/javadoc/org/apache/velocity/tools/generic/AlternatorTool.html  (en)   
79.        @since VelocityTools 1.2  
80.    -->   
81.    <tool>   
82.        <key>alternator</key>   
83.        <scope>application</scope>   
84.        <class>org.apache.velocity.tools.generic.AlternatorTool</class>   
85.    </tool>   
86.       
87.    <!-- [ ValueParser ]   
88.  
89.        @see http://velocity.apache.org/tools/devel/javadoc/org/apache/velocity/tools/generic/ValueParser.html  (en)   
90.        @since VelocityTools 1.2  
91.    -->   
92.    <tool>   
93.        <key>parser</key>   
94.        <scope>application</scope>   
95.        <class>org.apache.velocity.tools.generic.ValueParser</class>   
96.    </tool>   
97.       
98.    <!-- [ ListTool ]   
99.  
100.        @see http://velocity.apache.org/tools/devel/javadoc/org/apache/velocity/tools/generic/ListTool.html  (en)   
101.        @since VelocityTools 1.2  
102.    -->   
103.    <tool>   
104.        <key>list</key>   
105.        <scope>application</scope>   
106.        <class>org.apache.velocity.tools.generic.ListTool</class>   
107.    </tool>   
108.       
109.    <!-- [ SortTool ]   
110.  
111.        @see http://velocity.apache.org/tools/devel/javadoc/org/apache/velocity/tools/generic/SortTool.html  (en)   
112.        @since VelocityTools 1.2  
113.    -->   
114.    <tool>   
115.        <key>sorter</key>   
116.        <scope>application</scope>   
117.        <class>org.apache.velocity.tools.generic.SortTool</class>   
118.    </tool>   
119.       
120.    <!-- [ IteratorTool ]   
121.        @see http://velocity.apache.org/tools/devel/javadoc/org/apache/velocity/tools/generic/IteratorTool.html  (en)   
122.        @since VelocityTools 1.0  
123.    -->   
124.    <tool>   
125.        <key>mill</key>   
126.        <scope>request</scope>   
127.        <class>org.apache.velocity.tools.generic.IteratorTool</class>   
128.    </tool>   
129.           
130.<!--   
131.============================================================   
132.  [ TOOL FOR STRUTS TAGLIB ]   
133.============================================================   
134.-->   
135.    <!-- [ ActionMessagesTool ]            
136.        @see http://www.jajakarta.org/velocity/tools/velocity-tools-1.1/docs-ja/struts/ActionMessagesTool.html  (ja)   
137.        @see http://velocity.apache.org/tools/devel/struts/ActionMessagesTool.html  (en)   
138.        @since VelocityTools 1.1  
139.    -->   
140.    <tool>   
141.        <key>messages</key>   
142.        <scope>request</scope>   
143.        <class>org.apache.velocity.tools.struts.ActionMessagesTool</class>   
144.    </tool>   
145.       
146.    <!-- [ ErrorsTool ]   
147.        @see http://www.jajakarta.org/velocity/tools/velocity-tools-1.1/docs-ja/struts/ErrorsTool.html  (ja)   
148.        @see http://velocity.apache.org/tools/devel/struts/ErrorsTool.html  (en)   
149.        @since VelocityTools 1.0  
150.    -->   
151.    <tool>   
152.        <key>errors</key>   
153.        <scope>request</scope>   
154.        <class>org.apache.velocity.tools.struts.ErrorsTool</class>   
155.    </tool>   
156.       
157.    <!-- [ FormTool ]   
158.        @see http://www.jajakarta.org/velocity/tools/velocity-tools-1.1/docs-ja/struts/FormTool.html (ja)   
159.        @see http://velocity.apache.org/tools/devel/struts/FormTool.html (en)   
160.        @since VelocityTools 1.0  
161.    -->   
162.    <tool>   
163.        <key>form</key>   
164.        <scope>request</scope>   
165.        <class>org.apache.velocity.tools.struts.FormTool</class>   
166.    </tool>   
167.       
168.    <!-- [ MessageTool ]   
169.         @see http://www.jajakarta.org/velocity/tools/velocity-tools-1.1/docs-ja/struts/MessageTool.html (ja)   
170.        @see http://velocity.apache.org/tools/devel/struts/MessageTool.html  (en)   
171.        @since VelocityTools 1.0  
172.    -->   
173.    <tool>   
174.        <key>resource</key>   
175.        <scope>request</scope>   
176.        <class>org.apache.velocity.tools.struts.MessageTool</class>   
177.    </tool>   
178.       
179.    <!-- [ StrutsLinkTool ]   
180.        LinkTool            
181.        @see http://www.jajakarta.org/velocity/tools/velocity-tools-1.1/docs-ja/struts/StrutsLinkTool.html  (ja)   
182.        @see http://velocity.apache.org/tools/devel/struts/StrutsLinkTool.html  (en)   
183.        @since VelocityTools 1.0  
184.    -->   
185.    <tool>   
186.        <key>slink</key>   
187.        <scope>request</scope>   
188.        <class>org.apache.velocity.tools.struts.StrutsLinkTool</class>   
189.    </tool>   
190.       
191.    <!-- [ SecureLinkTool ]   
192.        LinkTool            
193.        @see http://www.jajakarta.org/velocity/tools/velocity-tools-1.1/docs-ja/struts/SecureLinkTool.html  (ja)   
194.        @see http://velocity.apache.org/tools/devel/struts/SecureLinkTool.html  (en)   
195.        @since VelocityTools 1.1  
196.    -->   
197.    <tool>   
198.        <key>sslink</key>   
199.        <scope>request</scope>   
200.        <class>org.apache.velocity.tools.struts.SecureLinkTool</class>   
201.    </tool>   
202.       
203.    <!-- [ TilesTool ]   
204.        Tiles            
205.        @see http://www.jajakarta.org/velocity/tools/velocity-tools-1.1/docs-ja/struts/TilesTool.html  (ja)   
206.        @see http://velocity.apache.org/tools/devel/struts/TilesTool.html  (en)   
207.        @since VelocityTools 1.1  
208.    -->   
209.    <tool>   
210.        <key>tiles</key>   
211.        <scope>request</scope>   
212.        <class>org.apache.velocity.tools.struts.TilesTool</class>   
213.    </tool>   
214.       
215.    <!-- [ ValidatorTool ]   
216.        Validator            
217.        @see http://www.jajakarta.org/velocity/tools/velocity-tools-1.1/docs-ja/struts/ValidatorTool.html  (ja)   
218.        @see http://velocity.apache.org/tools/devel/struts/ValidatorTool.html  (en)   
219.        @since VelocityTools 1.1  
220.    -->   
221.    <tool>   
222.        <key>validator</key>   
223.        <scope>request</scope>   
224.        <class>org.apache.velocity.tools.struts.ValidatorTool</class>   
225.    </tool>   
226.  
227.  
228.    <data type="string">   
229.        <scope>request</scope>   
230.        <key>app_version</key><value>3.0</value>   
231.    </data>   
232.    <data type="string">   
233.        <scope>request</scope>   
234.        <key>app_name</key><value>Patrasche</value>   
235.    </data>   
236.       
237.    <data type="string">   
238.        <scope>request</scope>   
239.        <key>next</key><value>/images/icon/next.jpg</value>   
240.    </data>   
241.    <data type="string">   
242.        <scope>request</scope>   
243.        <key>prev</key><value>/images/icon/prev.jpg</value>   
244.    </data>   
245.    <data type="string">   
246.        <scope>request</scope>   
247.        <key>top-page</key><value>/images/icon/top-page.jpg</value>   
248.    </data>   
249.    <data type="string">   
250.        <scope>request</scope>   
251.        <key>last-page</key><value>/images/icon/last-page.jpg</value>   
252.    </data>   
253.    <data type="string">   
254.        <scope>request</scope>   
255.        <key>pageIcon</key><value>/images/icon/page.png</value>   
256.    </data>   
257.    <data type="string">   
258.        <scope>request</scope>   
259.        <key>bookIcon</key><value>/images/icon/book.png</value>   
260.    </data>   
261.    <data type="string">   
262.        <scope>request</scope>   
263.        <key>defaultStyle</key><value>./web/default.css</value>   
264.    </data>   
265.    <data type="string">   
266.        <scope>request</scope>   
267.       <key>errorMetaHeader</key><value>/error/default_header.vm</value>   
268.    </data>   
269.    <data type="string">   
270.        <scope>request</scope>   
271.        <key>errorStyle</key><value>/error/error.css</value>   
272.    </data>   
273.    <data type="string">   
274.        <scope>request</scope>   
275.        <key>detailOfHTTP</key><value>./error/detail_HttpError.vm</value>   
276.    </data>   
277.    <data type="string">   
278.        <scope>request</scope>   
279.        <key>detailOfSERV</key><value>./error/detail_ServerError.vm</value>   
280.    </data>   
281.    <data type="string">   
282.        <scope>request</scope>   
283.        <key>multiPart</key><value>enctype='multipart/form-data'</value>   
284.    </data>   
285.    <data type="string">   
286.        <scope>request</scope>   
287.        <key>parentMark</key><value>..</value>   
288.    </data>   
289.    <data type="string">   
290.        <scope>request</scope>   
291.        <key>chartToolTips</key><value>toolTips</value>   
292.    </data>   
293.    <data type="string">   
294.        <scope>request</scope>   
295.        <key>chartClickable</key><value>isClickable</value>   
296.    </data>   
297.       
298.    <!-- [ NullTool ]   
299.    -->   
300.    <tool>   
301.        <key>null</key>   
302.        <scope>application</scope>   
303.        <class>com.company.util.velocity.NullTool</class>   
304.    </tool>   
305.  
306.    <!-- [ StringTool ]   
307.        文字操作           
308.    -->   
309.    <tool>   
310.        <key>words</key>   
311.        <scope>application</scope>   
312.        <class>com.company.util.velocity.StringTool</class>   
313.    </tool>   
314.       
315.    <!-- [ PageScrolllTool ]   
316.                   
317.    -->   
318.    <tool>   
319.        <key>pager</key>   
320.        <scope>session</scope>   
321.        <class>com.company.util.velocity.PageScrollTool</class>   
322.    </tool>   
323.  
324.    <!-- [ LoginUserTool ]   
325.    -->   
326.    <tool>   
327.        <key>loginuser</key>   
328.        <scope>request</scope>   
329.        <class>com.company.util.velocity.LoginUserTool</class>   
330.    </tool>   
331.  
332.    <!-- [ MenuTool ]   
333.    -->   
334.    <tool>   
335.        <key>menuviewer</key>   
336.        <scope>request</scope>   
337.        <class>com.company.util.velocity.MenuTool</class>   
338.    </tool>   
339.       
340.    <!-- [ FileSystemTool ]   
341.           
342.    -->   
343.    <tool>   
344.        <key>filesys</key>   
345.        <scope>request</scope>   
346.       <class>com.company.util.velocity.contrib.FileSystemTool</class>   
347.    </tool>   
348.       
349.    <!-- [ ExceptionTool ]           
350.           
351.    -->   
352.    <tool>   
353.        <key>exception</key>   
354.        <scope>request</scope>   
355.        <class>com.company.util.velocity.ExceptionTool</class>   
356.    </tool>   
357.       
358.    <!-- [ POITool ]                 
359.        使用自己写的操作Excel的类   
360.    -->   
361.    <tool>   
362.        <key>poi</key>   
363.        <scope>request</scope>   
364.        <class>com.company.util.velocity.POITool</class>   
365.    </tool>   
366.  
367.    <!-- [ ConstantTool ]   
368.        使用自己定义的常量。   
369.    -->   
370.    <tool>   
371.        <key>constant</key>   
372.        <scope>application</scope>   
373.        <class>com.company.Constant</class>   
374.    </tool>   
375.       
376.</toolbox>  

 

分享到:
评论

相关推荐

    vilocity简单例子

    在这个模板中,`${page.title}`、`${user.name}`和`${lastLogin}`是来自数据模型的变量,而`${date.format}`是使用了我们在`toolbox.xml`中配置的DateTool。 总结起来,这个"vilocity简单例子"涵盖了Vilocity的基本...

    velocity入门使用教程

    在velocity.properties文件中,可以指定toolbox.xml文件,该文件用于定义工具箱,工具箱中可以包含自定义的Velocity工具(Macro)和函数(Function)。这些工具和函数可以在模板中直接调用,简化模板编写。 通过...

    如何解决SpringBoot2.x版本对Velocity模板不支持的方案

    spring.velocity.toolbox-config-location=/WEB-INF/toolbox.xml ``` 最后,我们需要在 spring.xml 文件中添加以下视图解析配置: ```xml &lt;!-- 设置视图解析工具 --&gt; &lt;bean id="velocityViewResolver" class="org....

    Velocity语法以及整合struts2总结

    1. **配置Struts2**:在`struts.xml`配置文件中,需要指定`struts.velocity.toolboxlocation`常量,指向Velocity的工具箱配置文件,如`/WEB-INF/toolbox.xml`。 2. **配置Action结果**:在Action的配置中,设置`...

    Struts课堂笔记.rar--struts2的struts.properties配置文件详解

    struts.configuration.xml.reload Whether to reload the XML configuration or not 是否加载xml配置(true,false) struts.continuations.package The package containing actions that use Rife continuations ...

    velocity例子

    1. **模板语言**:Velocity使用自己的模板语言(VTL,Velocity Template Language),这是一种简单但强大的语法,允许在HTML或XML文档中嵌入动态内容。例如,`#set($name = "World")` 和 `Hello, ${name}!` 分别用于...

    Struts2属性文件详解

    #### struts.configuration.xml.reload 该属性设定了当`struts.xml`文件发生改变后,系统是否自动重新加载该文件,默认值为`false`。 #### struts.velocity.configfile 指定了Velocity框架所需的`velocity....

    Freemarker使用指南

    在实际应用中,由于Velocity需要自定义toolbox类和编写通用模板代码,而Freemarker则相对更易于使用。 Freemarker的工作原理可概括为:将页面样式设计放在FreeMarker模板文件中,然后将动态数据以键值对的形式放入...

    Turbine Tutorial

    作者 Henning Schmiedehausen(henning@apache.org)自 2001 年起就开始使用 Turbine,并在 2002 年成为该项目的提交者,同时也是 Apache 软件基金会成员。通过本教程的学习,读者将能够掌握 Turbine 的基础知识,...

Global site tag (gtag.js) - Google Analytics