转:
小伙伴们,我开了一家海淘护肤品淘宝店,搜索店铺“禾子蝶的海淘铺”,正品保证,欢迎进店选购哦。谢谢!
可以从Apache官方网站自带的例子中查找,位置\velocity-tools-1.4-src\examples\showcase。
Apache官方网站自带的例子有下面一些:
使用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.
小伙伴们,我开了一家海淘护肤品淘宝店,搜索店铺“禾子蝶的海淘铺”,正品保证,欢迎进店选购哦。谢谢!
相关推荐
1. **初始化Velocity上下文**:在Java代码中,你需要创建一个`VelocityContext`对象,并向其中添加你要在模板中使用的变量。 2. **加载模板**:使用`VelocityReader`或`ResourceLoader`加载模板文件。 3. **合并上...
- **变量 (Reference)**:变量是一种参考类型,在 Velocity 中用来引用 Java 代码中定义的对象或其他 VTL 语句的值。变量以 `$` 字符开头。 - **示例**:`<html><body>Hello $customer.Name!</body></html>`。在这个...
Velocity是由Apache软件基金会开发的一个开源项目,它最初设计用于生成静态网站内容,但后来被广泛应用于各种Java应用中,如电子邮件模板、报告生成、XML文档构建等。Velocity的核心理念是“分离展示层和逻辑层”,...
Velocity是一个基于Java的模板引擎,它的主要用途是将动态内容嵌入到Web页面中。模板引擎是一种将模板(template)和数据结合生成文档的软件。Velocity通过使用简单而功能强大的脚本语言——Velocity模板语言...
2. **模板语言**:Velocity模板语言(VTL)是 Velocity 的核心,它允许开发者在模板中嵌入Java代码,但不直接执行Java代码,而是通过VelocityEngine编译并执行。 3. **上下文(Context)**:Velocity中的Context对象...
这样,Velocity会将`$vice`的值"klepto"插入到文本中,输出`Jack is a kleptomaniac.`。 总的来说,Velocity提供了一种强大且灵活的方式,让Web设计师和程序员能够协作构建动态网站,同时保持代码的清晰性和可维护...
Velocity是Apache软件基金会的一个开源项目,它...总的来说,Velocity和Velocity Tools是Java Web开发中的重要组件,它们帮助开发者构建高效、可维护的Web应用,同时保持前后端的清晰分离,提高了开发效率和用户体验。
Velocity 是一个基于Java的模板引擎,它允许网页设计师在页面中嵌入动态内容,而无需直接接触Java代码。通过Velocity,网页设计师可以专注于设计工作,而程序员则可以专注于编写高效的应用代码,实现了Model-View-...
在Web开发中,Velocity 提供了Velocity Template Language(VTL),使得页面设计人员可以专注于页面布局和样式,而Java程序员则处理业务逻辑。例如,在一个在线MUD商店的场景中,Velocity 可以根据用户的购买历史...
这两个指令属于Velocity Tools的扩展,如果你的项目中引入了Velocity Tools,可以通过在`velocity.properties`文件中添加以下配置来启用它们: ```properties userdirective = org.apache.velocity.tools.generic....
velocity精典中文帮助文档
在Eclipse中集成Velocity插件,可以方便地进行Velocity模板的编写和调试,提高开发效率。 首先,让我们深入了解一下Velocity插件在Eclipse中的作用。Velocity插件提供以下功能: 1. **代码提示和自动完成**:在...
在Velocity中,变量是弱类型的,可以使用#set指令定义变量。例如: ``` #set($name = "hello") ``` Velocity中变量总是以一个大写或者小写的字母开始的,因此可以使用$2.5这样的货币标识。 在 Velocity 中,变量的...
Velocity的灵活性和功能性使其成为Java开发中的一个重要工具,特别是在涉及到模板渲染和动态内容生成的场景中。随着对Velocity及其模板语言VTL的深入理解,开发者能够释放出它的强大能力,创建出既高效又易于维护的...
这种能力使得 Velocity 成为了一个强大的工具,在多个场景中发挥着重要作用。 - **Web 开发:** 当 Velocity 应用于 Web 开发时,它支持界面设计师与 Java 程序员同步开发基于 MVC 架构的 Web 站点。页面设计师专注...
Velocity是一个强大的模板引擎,常用于Java应用程序中的动态内容生成,比如HTML、XML或者电子邮件。它以其简洁、可读性强的语法以及与Java对象的紧密集成而受到开发者的欢迎。在开发Velocity项目时,确保拥有正确的...
在Velocity中,它可能被用来增强数据结构的操作,如集合的排序、过滤或转换。 2. **velocity-1.4.jar**:这是Velocity的主要库文件,包含了 Velocity Engine的核心实现。它负责解析模板,执行嵌入的Java代码,并...
Velocity 插件则是为了在开发环境中提供对 Velocity 模板语言的支持,使得开发者可以在 IDE(集成开发环境)中更加方便地编写和调试 Velocity 模板。 在 MyEclipse 10 这样的专业 Java 开发工具中,Velocity 插件的...
赠送jar包:velocity-engine-core-2.3.jar 赠送原API文档:velocity-engine-core-2.3-javadoc.jar 赠送源代码:velocity-engine-core-...人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。
JAVA 中 Velocity 语法基础 Velocity 是一个基于 Java 的模板引擎(template engine),它允许任何人仅仅简单的使用模板语言(template language)来引用由 Java 代码定义的对象。Velocity 应用于 web 开发时,界面...