`

[转] 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区别

    Velocity 和 FreeMarker区别 对于大部分的应用来说,使用 FreeMarker 比 Velocity 更简单,因为 Velocity 还必须编写一些自定义的

    velocity模板引擎

    velocity与freemaker、jstl并称为java web开发三大标签技术,一、定义变量二、遍历数组三、遍历HashTable四、判断是否为空五、数值、日期格式化六、国际化七、内建对象八、include、parse实现布局模块化

    模板:velocity和freemarker的比较

    模板:velocity和freemarker的比较模板:velocity和freemarker的比较

    velocity freemarke 模版 静态化 实现

    使用velocity freemarke 模版实现页面静态化,有具体代码实现例子

    Velocity文档和NVelocity类库

    Velocity用户手册---中文版 NVelocity.dll

    Velocity模板引擎Velocity模板引擎

    Velocity模板引擎Velocity模板引擎Velocity模板引擎Velocity模板引擎Velocity模板引擎Velocity模板引擎Velocity模板引擎Velocity模板引擎Velocity模板引擎Velocity模板引擎

    Velocity1.4

    Velocity Velocity Velocity Velocity Velocity Velocity Velocity Velocity Velocity Velocity

    velocity标签 、velocity教程

    打开网址:http://www.web-tag.net/all_17.htm 就是velocity标签大全 、教程 或下载CHM格式帮助文档

    velocity的学习资料

    关于velocity的学习资料,velocity教程和velocity用户手册

    velocity-1.7-sources.zip

    Velocity 是 Apache 基金会的项目,开发的目标是分离 MVC 模式中的持久化层和业务层。但是在实际应用过程中,Velocity 不仅仅被用在了 MVC 的架构中,还可以被用在以下一些场景中。 1.Web 应用:开发者在不使用 JSP ...

    Velocity初始化过程解析

    Velocity初始化过程解析Velocity初始化过程解析Velocity初始化过程解析

    velocity-engine-core-2.3-API文档-中英对照版.zip

    赠送jar包:velocity-engine-core-2.3.jar; 赠送原API文档:velocity-engine-core-2.3-javadoc.jar;...人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。 双语对照,边学技术、边学英语。

    Velocity框架学习教程

    Velocity教程

    velocity 电子书

    velocity 电子书velocity 电子书velocity 电子书

    velocity-engine-core-2.3-API文档-中文版.zip

    赠送jar包:velocity-engine-core-2.3.jar 赠送原API文档:velocity-engine-core-2.3-javadoc.jar 赠送源代码:velocity-engine-core-...人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。

    velocity相关资源包1.7和2.0的

    里面包含了velocity1.7的资源包和2.0的资源包

    velocity-tools-generic-3.1-API文档-中英对照版.zip

    赠送jar包:velocity-tools-generic-3.1.jar; 赠送原API文档:velocity-tools-generic-3.1-javadoc.jar...人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。 双语对照,边学技术、边学英语。

    velocity-1.7-API文档-中文版.zip

    赠送jar包:velocity-1.7.jar; 赠送原API文档:velocity-1.7-javadoc.jar; 赠送源代码:velocity-1.7-sources.jar;...人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。

    velocity为空判断

    在使用velocity作为视图层时候,经常会碰到为空的判断,这里整理了velocity为空判断

    SpringBoot Velocity 代码生成模板

    Spring Boot项目 自动生成数据表模板,包括:Mapper、Mapper.xml、Service、Controller

Global site tag (gtag.js) - Google Analytics