Velocity中的ComparisonDateTool、MathTool、NumberTool、SortTool、EscapeTool工具
来源:互联网 发布:php 单例 引用 编辑:程序博客网 时间:2024/06/05 06:27
可以从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,如下所示:
函数举例显示结果$date2008-04-22$date.long2008年4月22日 下午10时58分54秒$date.medium_time22:58:54$date.full_date2008年4月22日 星期二$date.yyyy2008$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').full2 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.random0.7663665545444911$math.random("1","10")2$math.roundTo("2","5")5.0$math.toInteger("15")15$math.toDouble("15")15.0$math.toNumber("15")15org.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,如下所示:
函数举例显示结果$numberorg.apache.velocity.tools.generic.NumberTool@32c41c$number.currency("35")¥35.00$number.format#0.0$number.localezh_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.47org.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,如下所示:
函数举例显示结果$escorg.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.sesc.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.- Velocity中的ComparisonDateTool、MathTool、NumberTool、SortTool、EscapeTool工具
- Velocity中的ComparisonDateTool、MathTool、NumberTool、SortTool、EscapeTool工具
- Velocity中的ComparisonDateTool、MathTool、NumberTool、SortTool、EscapeTool工具
- Velocity中的ComparisonDateTool、MathTool、NumberTool
- Velocity自带的工具类DateTool、NumberTool等。。
- org.apache.velocity.tools.generic.EscapeTool
- Spring mvc 3.0 怎么配置velocity tools (dateTool/numberTool)?
- MathTool.java
- 【工具】模板引擎 Velocity
- velocity使用工具类
- JBuilder中的velocity应用
- Velocity中的VelocityCount
- Velocity中的VelocityCount
- java中的velocity
- velocity中的注释种类
- Velocity中的基础语法
- Velocity中的if
- velocity中的表达式
- 原始套接字透析之前言
- SQL Server中各数据类型尺寸(Byte)
- Thinkpad电源管理器(Power Manager)无法新建方案解决方法
- MFC获得各种视图指针的方法
- SRAM、DRAM;SDRAM、DDRSDRAM(DDR)、RDRAM;SARAM、DARAM的区别
- Velocity中的ComparisonDateTool、MathTool、NumberTool、SortTool、EscapeTool工具
- 总结一下DLL声明的一些问题
- Web网站的性能测试工具
- 验证括号匹配-算法
- Velocity与Struts验证用户登录
- 项目里遇到的错误,望高手帮忙解决
- vc中键盘事件对应的值
- Java常用算法分析
- DLL高级技巧