`

[转] 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模板引擎

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

    Velocity学习资料

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

    Velocity 用户指南

    Velocity 支持多种格式化选项,包括日期、数字等的格式化。 #### 18. 其它特征和杂项 ##### 18.1 数学特征 Velocity 提供了一些内置的数学函数,例如加减乘除等。 ##### 18.2 范围操作符 范围操作符用于表示一...

    velocity例子

    Velocity提供了一些内置工具,如`EscapeTool`用于转义HTML,`NumberTool`处理数值计算,`DateTool`处理日期和时间,`StringUtils`处理字符串操作等。这些工具可以通过`velocity.properties`配置文件添加到上下文中,...

    rtftemplate基于模板操作RTF格式文件

    例如,你可以创建一个包含公司报告结构的模板,然后在运行时替换具体的数值、日期和文本,从而快速批量生成多个定制化的报告。 将生成的RTF文件转换为Word文档是另一个有用的功能。由于RTF格式与Microsoft Word高度...

    vi_vr_orbitmbc_地震波_均方根速度_地震波均方根_速度计算_

    MATLAB是一种广泛用于科学计算和数据分析的编程语言,其强大的数值计算能力使其成为地震学研究的理想工具。此脚本可能包含了读取地震数据、计算速度、进行均方根运算以及可能的可视化步骤。 `Test_velocity_...

    Excel文件

    - **数据操作**: 支持设置单元格的数据类型(数值、字符串、日期等),读取数据,以及样式和公式操作。 2. **JExcelAPI使用**: - **安装**: 添加JExcelAPI库到项目中。 - **读取Excel文件**: 使用`Workbook`类...

    FreeMarker 手册

    第二章 数值和类型 ................................................................................................. 19 2.1 基本内容 .......................................................................

    超完整FreeMarker中文教程,代码

    第二章 数值和类型 ................................................................................................. 20 2.1 基本内容 .......................................................................

Global site tag (gtag.js) - Google Analytics