在velocity使用toolbox.xml

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

猜你在找的XML相关文章