Velocity的数值类型,在页面显示的时候,系统会调用toString,自动将它们转换成字符串类型。
那么,在JSP页面里,怎么进行数值类型的运算呢?其实,很简单,可直接进行运算,如下:
- #set($result=${cpsIncome}/${newUserCount})
然后,将计算结果($result),在页面中显示。
运算结果(0.12979978058145913)默认的小数位数很长,如何保留两位小数呢?
Velocity已经提供了很完善的工具(velocity-tools),用它即可。下面是使用方法:
1、在Struts的配置文件(struts.xml)中,指定该工具的配置文件的位置。
- <struts>
- <constant name="struts.velocity.toolboxlocation" value="WEB-INF/toolbox.xml" />
- </struts>
2、修改该工具的配置文件,添加自己所需的工具(比如NumberTool)。
- <?xml version="1.0" encoding="UTF-8"?>
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/2002/xmlspec/dtd/2.10/xmlspec.dtd">
- <toolbox>
- <tool>
- <key>NumberTool</key>
- <scope>application</scope>
- <class>org.apache.velocity.tools.generic.NumberTool</class>
- </tool>
- <tool>
- <key>NumericTool</key>
- <scope>application</scope>
- <class>com.yunlan.desktop.back.tool.NumericTool</class>
- </tool>
- </toolbox>
3、然后,在JSP页面里,即可使用该工具,进行各种格式化了。
- $NumberTool.format("#0.00",$result)
注意:如果Velocity自带的工具类,不能满足我们的需求,那么,可以使用自己定义的格式化类(比如上述配置里的NumericTool)。
1、自定义的NumericTool类的实现源码。
- package com.yunlan.desktop.back.tool;
- public class NumericTool {
- /**
- * 将浮点数小数,固定保留两位小数
- */
- public static String toFixedNumber(Double d) {
- if (d == null) {
- return "";
- }
- String valStr = String.format("%1$.2f", d);
- return valStr;
- }
- }
2、在JSP页面里,使用自定义的NumericTool类。
- $NumericTool.toFixedNumber($result)
日期的格式化,跟数值的格式,基本类似,具体可参考官方文档。
官方文档:http://velocity.apache.org/tools/devel/
From: http://blog.csdn.net/gaojinshan/article/details/38850721
相关推荐
首先,从功能上来讲,Freemarker 在 View 层提供了 format 日期和数字的功能,这个功能非常贴心,解决了我们在页面上格式化日期或数字的问题。 Velocity 也提供了类似的功能,但是 Freemarker 的实现更加完善。 ...
- **数值与日期格式化**:Velocity提供了丰富的日期与数值格式化功能。例如,`$dateTool.format('EEE, MMM d, yyyy', $article.getDisplayDate())`可以用于格式化日期。同时,也可以使用`$date.format('yyyy-MM-dd ...
- **FreeMarker**适用于更复杂的应用场景,尤其是需要高度定制化和灵活控制输出格式的情况。 #### 七、总结 总的来说,**FreeMarker**在功能性和灵活性方面优于**Velocity**,尤其是在处理复杂逻辑和大规模项目时...
4. **格式化与重构**:支持 Velocity 模板的代码格式化,保持代码整洁;同时,插件可能提供重构功能,方便调整模板结构。 5. **调试支持**:通过插件,可以设置断点,单步执行,查看变量值,帮助调试 Velocity 模板...
Spring Boot作为一款轻量级的框架,简化了初始化和配置过程,而Velocity则是一个强大的模板引擎,允许开发者自定义生成代码的样式和结构。 在Spring Boot项目中,利用Velocity模板引擎,我们可以创建一系列模板文件...
Velocity是一个流行的Java...总的来说,Velocity的初始化过程涉及到多个组件的配置和初始化,以确保其能够正确地处理模板并生成动态内容。理解这个过程有助于优化 Velocity 的性能和日志记录,使其更好地适应项目需求。
1.3版本可能包含了一些常用的视图助手(View Helper),如日期/时间格式化、国际化支持、URL重写工具等。这些工具可以帮助开发者更高效地编写模板,减少重复代码。例如,通用的国际化工具允许根据用户的语言环境动态...
标题“velocity和freemarker的比较”涉及到的是两个在Java Web开发中常用的模板引擎——Velocity和FreeMarker。它们都是用于将静态模板与动态数据结合,生成HTML或其他类型的文本输出,常用于MVC(模型-视图-控制器...
Velocity以其简洁、易读的语法和强大的功能,深受开发者喜爱。它将业务逻辑与表现层分离,使得开发者可以专注于页面布局,而无需关心数据的处理细节。 NVelocity是.NET平台上对Velocity的实现,它为.NET开发者提供...
Velocity和FreeMarker是两种常用的Java模板引擎,它们可以方便地结合JSP(JavaServer Pages)进行动态网页生成,并实现页面静态化。本文将详细介绍如何使用Velocity和FreeMarker模板实现页面静态化,并提供具体的...
1. **视图工具(View Tools)**:提供了一系列预定义的工具类,如DateTool、EscapeTool等,简化了日期格式化、字符串操作和安全的HTML转义等工作。 2. **通用工具(General Tools)**:包括了一些通用的工具类,如...
它包含了一些工具类和视图助手,比如国际化支持、日期/时间格式化、URL重写等,提高了开发效率和模板的可维护性。 这四个JAR文件组合在一起,构成了一个基本的Velocity运行环境。在使用时,通常需要将这些库添加到...
4. **工具箱(Tools)**:Velocity Tools是Velocity的一个扩展库,提供了一系列预定义的工具类,如ViewTool、HtmlEscaper等,可以帮助开发者更方便地处理常见的任务,如日期格式化、URL编码等。在提供的`velocity-...
- Velocity提供了一些内置工具,如日期和时间格式化,字符串操作等。 - 用户还可以通过Velocity Tools框架添加自定义工具,增强模板的功能。 7. **性能优化** - 了解如何通过缓存管理、减少不必要的模板解析和...
比如,可以格式化数字或者日期等数据类型。 此外,Velocity还支持一些高级特性,比如在输出文本时可以使用感叹号“!”来进行不解析输出,这在需要输出VTL特殊字符时非常有用。范围操作符也用于在宏内部进行简化操作...
首先,本地化(Localization,简称L10n)是指使软件适应特定地区或语言的过程,包括文字、日期、时间、数字格式以及文化习惯等方面的调整。在Velocity中实现本地化,主要依赖于两个关键组件:资源包(Resource ...
在使用这些资源时,首先需要解压`velocity-1.7.zip`和`velocity-tools-2.0.zip`文件,然后根据项目需求引入相应的JAR包。对于源码学习和定制,可以解压`velocity-tools-2.0-src.zip`。在开发过程中,可以参考...
6. **格式化工具**:可能提供代码格式化选项,一键整理模板代码,保持代码风格的一致性。 7. **文档支持**:对于Velocity的内置指令和方法,插件可能提供了快捷访问文档的功能,便于开发者查阅相关API。 8. **版本...
Velocity支持各种关系运算符和逻辑运算符,用于构建更复杂的条件判断。 **6.1 关系运算符** 常见的关系运算符包括`==`、`!=`、`>`、`、`>=`和`。 **6.2 逻辑运算符** 逻辑运算符有`&&`(与)、`||`(或)和`!`...