`

[转] Velocity,数值和日期的格式化

阅读更多

Velocity的数值类型,在页面显示的时候,系统会调用toString,自动将它们转换成字符串类型。
那么,在JSP页面里,怎么进行数值类型的运算呢?其实,很简单,可直接进行运算,如下:

[javascript] view plaincopy在CODE上查看代码片派生到我的代码片
  1. #set($result=${cpsIncome}/${newUserCount})  

然后,将计算结果($result),在页面中显示。

运算结果(0.12979978058145913)默认的小数位数很长,如何保留两位小数呢?
Velocity已经提供了很完善的工具(velocity-tools),用它即可。下面是使用方法:
1、在Struts的配置文件(struts.xml)中,指定该工具的配置文件的位置。

  1. <struts>  
  2.     <constant name="struts.velocity.toolboxlocation" value="WEB-INF/toolbox.xml" />  
  3. </struts>  

2、修改该工具的配置文件,添加自己所需的工具(比如NumberTool)。

  1. <?xml version="1.0" encoding="UTF-8"?>   
  2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"   
  3.     "http://www.w3.org/2002/xmlspec/dtd/2.10/xmlspec.dtd">  
  4. <toolbox>  
  5.     <tool>  
  6.         <key>NumberTool</key>  
  7.         <scope>application</scope>  
  8.         <class>org.apache.velocity.tools.generic.NumberTool</class>  
  9.     </tool>  
  10.     <tool>  
  11.         <key>NumericTool</key>  
  12.         <scope>application</scope>  
  13.         <class>com.yunlan.desktop.back.tool.NumericTool</class>  
  14.     </tool>  
  15. </toolbox>  

3、然后,在JSP页面里,即可使用该工具,进行各种格式化了。

[javascript] view plaincopy在CODE上查看代码片派生到我的代码片
  1. $NumberTool.format("#0.00",$result)  

注意:如果Velocity自带的工具类,不能满足我们的需求,那么,可以使用自己定义的格式化类(比如上述配置里的NumericTool)。
1、自定义的NumericTool类的实现源码。

  1. package com.yunlan.desktop.back.tool;  
  2.   
  3. public class NumericTool {  
  4.     /** 
  5.      * 将浮点数小数,固定保留两位小数 
  6.      */  
  7.     public static String toFixedNumber(Double d) {  
  8.         if (d == null) {  
  9.             return "";  
  10.         }  
  11.         String valStr = String.format("%1$.2f", d);  
  12.         return valStr;  
  13.     }  
  14. }  

2、在JSP页面里,使用自定义的NumericTool类。

[javascript] view plaincopy在CODE上查看代码片派生到我的代码片
  1. $NumericTool.toFixedNumber($result)  

日期的格式化,跟数值的格式,基本类似,具体可参考官方文档。
官方文档:http://velocity.apache.org/tools/devel/

 

From: http://blog.csdn.net/gaojinshan/article/details/38850721

分享到:
评论

相关推荐

    模板:velocity和freemarker的比较

    首先,从功能上来讲,Freemarker 在 View 层提供了 format 日期和数字的功能,这个功能非常贴心,解决了我们在页面上格式化日期或数字的问题。 Velocity 也提供了类似的功能,但是 Freemarker 的实现更加完善。 ...

    velocity模板引擎

    - **数值与日期格式化**:Velocity提供了丰富的日期与数值格式化功能。例如,`$dateTool.format('EEE, MMM d, yyyy', $article.getDisplayDate())`可以用于格式化日期。同时,也可以使用`$date.format('yyyy-MM-dd ...

    Velocity 和 FreeMarker区别

    - **FreeMarker**适用于更复杂的应用场景,尤其是需要高度定制化和灵活控制输出格式的情况。 #### 七、总结 总的来说,**FreeMarker**在功能性和灵活性方面优于**Velocity**,尤其是在处理复杂逻辑和大规模项目时...

    velocity插件

    4. **格式化与重构**:支持 Velocity 模板的代码格式化,保持代码整洁;同时,插件可能提供重构功能,方便调整模板结构。 5. **调试支持**:通过插件,可以设置断点,单步执行,查看变量值,帮助调试 Velocity 模板...

    Velocity初始化过程解析

    Velocity是一个流行的Java...总的来说,Velocity的初始化过程涉及到多个组件的配置和初始化,以确保其能够正确地处理模板并生成动态内容。理解这个过程有助于优化 Velocity 的性能和日志记录,使其更好地适应项目需求。

    velocity-1.5.jar,velocity-1.6.2-dep.jar,velocity-tools-1.3.jar

    1.3版本可能包含了一些常用的视图助手(View Helper),如日期/时间格式化、国际化支持、URL重写工具等。这些工具可以帮助开发者更高效地编写模板,减少重复代码。例如,通用的国际化工具允许根据用户的语言环境动态...

    velocity和freemarker的比较

    标题“velocity和freemarker的比较”涉及到的是两个在Java Web开发中常用的模板引擎——Velocity和FreeMarker。它们都是用于将静态模板与动态数据结合,生成HTML或其他类型的文本输出,常用于MVC(模型-视图-控制器...

    SpringBoot Velocity 代码生成模板

    Spring Boot作为一款轻量级的框架,简化了初始化和配置过程,而Velocity则是一个强大的模板引擎,允许开发者自定义生成代码的样式和结构。 在Spring Boot项目中,利用Velocity模板引擎,我们可以创建一系列模板文件...

    Velocity文档和NVelocity类库

    Velocity以其简洁、易读的语法和强大的功能,深受开发者喜爱。它将业务逻辑与表现层分离,使得开发者可以专注于页面布局,而无需关心数据的处理细节。 NVelocity是.NET平台上对Velocity的实现,它为.NET开发者提供...

    velocity freemarke 模版 静态化 实现

    Velocity和FreeMarker是两种常用的Java模板引擎,它们可以方便地结合JSP(JavaServer Pages)进行动态网页生成,并实现页面静态化。本文将详细介绍如何使用Velocity和FreeMarker模板实现页面静态化,并提供具体的...

    velocity的jar包

    1. **视图工具(View Tools)**:提供了一系列预定义的工具类,如DateTool、EscapeTool等,简化了日期格式化、字符串操作和安全的HTML转义等工作。 2. **通用工具(General Tools)**:包括了一些通用的工具类,如...

    velocity的所有jar包

    它包含了一些工具类和视图助手,比如国际化支持、日期/时间格式化、URL重写等,提高了开发效率和模板的可维护性。 这四个JAR文件组合在一起,构成了一个基本的Velocity运行环境。在使用时,通常需要将这些库添加到...

    Velocity学习资料

    4. **工具箱(Tools)**:Velocity Tools是Velocity的一个扩展库,提供了一系列预定义的工具类,如ViewTool、HtmlEscaper等,可以帮助开发者更方便地处理常见的任务,如日期格式化、URL编码等。在提供的`velocity-...

    velocity 电子书

    - Velocity提供了一些内置工具,如日期和时间格式化,字符串操作等。 - 用户还可以通过Velocity Tools框架添加自定义工具,增强模板的功能。 7. **性能优化** - 了解如何通过缓存管理、减少不必要的模板解析和...

    velocity-doc

    比如,可以格式化数字或者日期等数据类型。 此外,Velocity还支持一些高级特性,比如在输出文本时可以使用感叹号“!”来进行不解析输出,这在需要输出VTL特殊字符时非常有用。范围操作符也用于在宏内部进行简化操作...

    Velocity本地化应用举例

    首先,本地化(Localization,简称L10n)是指使软件适应特定地区或语言的过程,包括文字、日期、时间、数字格式以及文化习惯等方面的调整。在Velocity中实现本地化,主要依赖于两个关键组件:资源包(Resource ...

    velocity相关资源包1.7和2.0的

    在使用这些资源时,首先需要解压`velocity-1.7.zip`和`velocity-tools-2.0.zip`文件,然后根据项目需求引入相应的JAR包。对于源码学习和定制,可以解压`velocity-tools-2.0-src.zip`。在开发过程中,可以参考...

    Velocity Template的另类用法:生成XML

    Velocity Template语言(VTL)是一种简单的、非脚本化的模板语言,它允许开发者在模板中嵌入指令和逻辑,通过与后端数据模型结合,动态生成输出。VTL的主要元素包括变量引用、控制结构(如if/else、foreach)以及...

    eclipse编辑velocity插件velocitysite-2.0.8

    6. **格式化工具**:可能提供代码格式化选项,一键整理模板代码,保持代码风格的一致性。 7. **文档支持**:对于Velocity的内置指令和方法,插件可能提供了快捷访问文档的功能,便于开发者查阅相关API。 8. **版本...

Global site tag (gtag.js) - Google Analytics