- 浏览: 884254 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (687)
- java (127)
- servlet (38)
- struts (16)
- spring (22)
- hibernate (40)
- javascript (58)
- jquery (18)
- tomcat (51)
- 设计模式 (6)
- EJB (13)
- jsp (3)
- oracle (29)
- RUP (2)
- ajax (3)
- java内存管理 (4)
- java线程 (12)
- socket (13)
- path (5)
- XML (10)
- swing (2)
- UML (1)
- JBPM (2)
- 开发笔记 (45)
- Note参考 (15)
- JAXB (4)
- Quartz (2)
- 乱码 (2)
- CSS (2)
- Exception (4)
- Tools (7)
- sqlserver (3)
- DWR (7)
- Struts2 (47)
- WebService (2)
- 问题解决收藏 (7)
- JBOSS (7)
- cache (10)
- easyUI (19)
- jQuery Plugin (11)
- FreeMarker (6)
- Eclipse (2)
- Compass (2)
- JPA (1)
- WebLogic (1)
- powerdesigner (1)
- mybatis (1)
最新评论
-
bugyun:
受教了,谢谢
java 正则表达式 过滤html标签 -
xiongxingxing_123:
学习了,感谢了
java 正则表达式 过滤html标签 -
wanmeinange:
那如果无状态的。对同一个任务并发控制怎么做?比如继承Quart ...
quartz中参数misfireThreshold的详解 -
fanjieshanghai:
...
XPath 元素及属性查找 -
tianhandigeng:
还是没明白
quartz中参数misfireThreshold的详解
Velocity中的ComparisonDateTool、MathTool、NumberTool、SortTool、Escape...
- 博客分类:
- Note参考
可以从Apache官方网站自带的例子中查找,位置\velocity-tools-1.4-src\examples\showcase。
Apache官方网站自带的例子有下面一些:
- AlternatorTool
- BrowserSniffer
- ContextTool
- CookieTool
- DateTool
- EscapeTool
- ImportTool
- LinkTool
- ListTool
- MathTool
- IteratorTool
- NumberTool
- PagerTool
- ParameterParser
- RenderTool
- ResourceTool
- SearchTool
- SortTool
使用Velocity Tools的时候,一定要在toolbox.xml中指定,然后在应用的web.xml中配置。
这里,关于jar包的引用,很可能出现一种Velocity运行时异常,例如:
信息: Velocity [warn] org.apache.velocity.runtime.exception.ReferenceException: reference : template = /templates/context.vm [line 12,column 37] : $context is not a valid reference.
2008-4-23 9:41:45 org.apache.catalina.core.ApplicationContext log
信息: Velocity [warn] org.apache.velocity.runtime.exception.ReferenceException: reference : template = /templates/context.vm [line 16,column 37] : $context.keys is not a valid reference.
2008-4-23 9:41:45 org.apache.catalina.core.ApplicationContext log
信息: Velocity [warn] org.apache.velocity.runtime.exception.ReferenceException: reference : template = /templates/context.vm [line 20,column 37] : $context.toolbox is not a valid reference.
2008-4-23 9:41:45 org.apache.catalina.core.ApplicationContext log
信息: Velocity [warn] org.apache.velocity.runtime.exception.ReferenceException: reference : template = /templates/context.vm [line 24,column 37] : $context.values is not a valid reference.
关键就是jar包的选择有问题,还可能是没有加入指定的工具的jar包。
选择几个工具:
org.apache.velocity.tools.generic.ComparisonDateTool
在toolbox.xml中配置如下所示:
<tool>
<key>date</key>
<scope>application</scope>
<class>org.apache.velocity.tools.generic.ComparisonDateTool</class>
<parameter name="format" value="yyyy-MM-dd"/>
<parameter name="depth" value="2"/>
<parameter name="skip" value="month"/>
</tool>
date就像一个内置对象,你随时可以在.vm的Velocity模板中使用。
关于date,如下所示:
函数举例 | 显示结果 |
$date | 2008-04-22 |
$date.long | 2008年4月22日 下午10时58分54秒 |
$date.medium_time | 22:58:54 |
$date.full_date | 2008年4月22日 星期二 |
$date.yyyy | 2008 |
$date.get('default','short') | 2008-4-22 下午10:58 |
$date.get('yyyy-M-d H:m:s') | 2008-4-22 22:58:54 |
$date.whenIs('2008-04-20') | 2 days 22 hours ago |
$date.whenIs('2008-04-20').full | 2 days 22 hours 58 minutes 54 seconds 484 milliseconds ago |
$date.whenIs('2008-04-20').days | -2 |
$date.whenIs('2008-04-20') | 22 hours 58 minutes ago |
$date.whenIs('2008-04-20','2008-04-20') | same time |
$date.difference('2008-04-20', '2008-04-20') | 2 days |
$date.whenIs('2008-04-20').days | -2 |
org.apache.velocity.tools.generic.MathTool
在toolbox.xml中配置如下所示:
<tool>
<key>math</key>
<scope>application</scope>
<class>org.apache.velocity.tools.generic.MathTool</class>
</tool>
关于math,如下所示:
函数举例 | 显示结果 |
$math.add("10","4") | 14 |
$math.sub("100","20") | 80 |
$math.mul("11","7") | 77 |
$math.div("100","5") | 20 |
$math.idiv("100","5") | 20 |
$math.pow("2","5") | 32 |
$math.mod("13","5") | 3 |
$math.max("99","16") | 99 |
$math.min("99","16") | 16 |
$math.abs("-99") | 99 |
\$math.cell("99.26") | $math.cell("99.26") |
$math.floor("99.26") | 99 |
$math.random | 0.7663665545444911 |
$math.random("1","10") | 2 |
$math.roundTo("2","5") | 5.0 |
$math.toInteger("15") | 15 |
$math.toDouble("15") | 15.0 |
$math.toNumber("15") | 15 |
org.apache.velocity.tools.generic.NumberTool
在toolbox.xml中配置如下所示:
<tool>
<key>number</key>
<scope>application</scope>
<class>org.apache.velocity.tools.generic.NumberTool</class>
<parameter name="format" value="#0.0"/>
</tool>
关于number,如下所示:
函数举例 | 显示结果 |
$number | org.apache.velocity.tools.generic.NumberTool@32c41c |
$number.currency("35") | ¥35.00 |
$number.format | #0.0 |
$number.locale | zh_CN |
$number.format("35") | 35.0 |
$number.integer("35.47") | 35 |
$number.number("35.47") | 35.47 |
$number.percent("0.3547") | 35% |
$number.toNumber("35.47") | 35.47 |
org.apache.velocity.tools.generic.SortTool
在toolbox.xml中配置如下所示:
<tool>
<key>sorter</key>
<scope>application</scope>
<class>org.apache.velocity.tools.generic.SortTool</class>
</tool>
关于sorter,如下所示:
函数举例 | 显示结果 |
$sorter.sort(['d','a','b','c']) | [a, b, c, d] |
$sorter.sort([5,1,12,3]) | [1, 3, 5, 12] |
sorter工具,可以对指定的集合进行排序,如List,Array,Map等等。
org.apache.velocity.tools.generic.EscapeTool
在toolbox.xml中配置如下所示:
<tool>
<key>esc</key>
<scope>application</scope>
<class>org.apache.velocity.tools.generic.EscapeTool</class>
</tool>
关于esc,如下所示:
函数举例 | 显示结果 |
$esc | org.apache.velocity.tools.generic.EscapeTool@e09a07 |
$esc.b | \ |
$esc.backslash | \ |
$esc.d | $ |
$esc.dollar | $ |
$esc.e | ! |
$esc.exclamation | ! |
$esc.h | # |
$esc.hash | # |
$esc.q | " |
$esc.quote | " |
\esc.s | esc.s |
$esc.singleQuote | ' |
$esc.html("$esc.backslash") | \ |
$esc.url("shirdrn.org/users/index.vm?id=1&name=异域王者") | shirdrn.org%2Fusers%2Findex.vm%3Fid%3D1%26name%3D%E5%BC%82%E5%9F%9F%E7%8E%8B%E8%80%85 |
$esc.sql("SELECT * FROM PERSON WHERE ID='2008042319831'") | SELECT * FROM PERSON WHERE ID=''2008042319831'' |
\$esc.java() | [说明]Escapes the characters in a String using Java String rules. |
\$esc.javascript() | [说明]Escapes the characters in a String using JavaScript String rules. |
\$esc.xml() | [说明]Escapes the characters in a String using XML entities. |
\$esc.propertyKey() | [说明]Escapes the characters in a String using java.util.Properties rules for escaping keys. |
\$esc.propertyValue() | [说明]Escapes the characters in a String using java.util.Properties rules for escaping values. |
发表评论
-
十条不错的编程观点
2011-04-07 13:26 839在Stack Overflow上有这样 ... -
系统架构图 转载
2011-03-10 23:56 1141以下文字和架构图均在本人相关系统设计 和架构方案中有所 ... -
VeloCity velocity 乱码问题 解决总结
2010-11-17 16:54 1388VeloCity velocity 乱码问题 解决总结 vel ... -
MyEclipse8.5如何安装svn
2010-11-11 10:36 1094本文主要是介绍MyEclipse8.5如何通过link方式安装 ... -
使用Synchronized关键字同步类方法1
2010-11-08 10:44 1228要想解决“脏数据”的 ... -
使用Synchronized块同步方法3
2010-11-08 10:40 1173synchronized关键字有两种用法。第一种就是在《使用 ... -
使用Synchronized关键字同步类方法(2)
2010-11-08 10:37 1146在使用synchronized关键字时有以下四点需要注意: ... -
servlet,page指令,meta三者的Content-Type的区别与联系
2010-11-02 14:08 929一.引子下面的servlet能显示中文吗? public c ... -
Servlet RequestDispatcher 路径问题
2010-11-02 10:09 18717. RequestDispatcher.forward(re ... -
优秀Java程序员必须了解的GC工作原理
2010-10-29 23:02 738Weak引用对象与Soft引用对象的最大不同就在于:GC在进行 ... -
Java 2 引用类使用指南
2010-10-29 22:43 667学习如何有效地使用 SoftReference、WeakRef ... -
Java对象的强、软、弱和虚引用
2010-10-29 16:07 739在JDK1.2以前的版本中,当一个对象不被任何变量引用,那么程 ... -
编写对GC友好,又不泄漏的代码
2010-10-29 14:55 731作者:江南白衣 ,最新版链接:http:/ ... -
ThreadLocal源码分析
2010-10-29 01:04 1519在阅读《Java Concurrency In Practic ...
相关推荐
velocity-engine-core-2.1.jar
jar包,官方版本,自测可用
velocity-tools-view-2.0.jar
注:下文中的 *** 代表文件名中的组件名称。 # 包含: 中文-英文对照文档:【***-javadoc-API文档-中文(简体)-英语-对照版.zip】 jar包下载地址:【***.jar下载地址(官方地址+国内镜像地址).txt】 Maven依赖:【*...
velocity-tools-generic-2.0.jar
velocity-tools-generic-1.2.jar
velocity 2.0 包需要的 jar 包 官方下载的,测试过了,可以运行 Demo 网上都有,关键几行代码: // ve.setProperty(RuntimeConstants.RESOURCE_LOADER, "file"); // 按文件加载 // ve.init(); // Template t = ...
import org.apache.velocity.app.VelocityEngine; import org.apache.velocity.context.Context; VelocityEngine engine = new VelocityEngine(); engine.init(); Context context = new Context(); // 添加数据到...
• commons-collections-3.2.jar • velocity-1.4.jar • velocity-tools-view-1.2.jar • avalon-logkit-2.1.jar
测试报告在软件开发过程中起着至关重要的作用,它详尽记录了测试过程、发现的问题以及测试结果,为项目团队提供了一种评估产品质量和系统稳定性的有效工具。在给定的压缩包文件中,包含了几个关键组件,它们是针对...
赠送jar包:velocity-engine-core-2.3.jar 赠送原API文档:velocity-engine-core-2.3-javadoc.jar 赠送源代码:velocity-engine-core-2.3-sources.jar 包含翻译后的API文档:velocity-engine-core-2.3-javadoc-...
赠送jar包:velocity-engine-core-2.3.jar; 赠送原API文档:velocity-engine-core-2.3-javadoc.jar; 赠送源代码:velocity-engine-core-2.3-sources.jar; 赠送Maven依赖信息文件:velocity-engine-core-2.3.pom;...
标题中的"velocity_optimization-1.0.6.tar.gz"是一个Python库的版本标识,它表明这个压缩包包含了一个名为"velocity_optimization"的库,版本号为1.0.6。这种命名方式通常遵循软件开发中的命名规范,用于区分不同...
velocity-tools-view-1.0.jar velocity-tools-view-1.0.jar
velocity-tools-2.0.jar velocity-tools-2.0.jar velocity-tools-2.0.jar velocity-tools-2.0.jar velocity-tools-2.0.jar
velocity-tools-view-1.2.jar
利用velocity来定义动画序列,可以直接使用velocity.js中预定义动画开发自己的网页动画,也可以利用velocity.js自定义动画
velocity-tools-view-1.1.jar
标题中的"velocity-1.6.3_Src_jar.zip"指的是Velocity的1.6.3版本源码jar包,这个压缩包包含了该版本的全部源代码,对于开发者来说,源码是理解其工作原理、进行定制化开发和调试的重要资源。 Velocity的核心理念是...
velocity-tools-view-1.4.jar