`
hypgr
  • 浏览: 277735 次
社区版块
存档分类
最新评论

struts2 中格式化输出数字和日期的方法

阅读更多

其实用的是struts1的东西,看你的action的参数就知道了 --tetat 对概念的阐述得很优秀,一看就明白,Thanks! --WangSir 这个解决。。。。你不觉得麻烦吗?期待更好的解决方案 -- 漂竹 不咋的 --WX 我也是,哈哈~ --Icesky 我的也出现这个问题,加入那个包后还是这个错误, --网友 --aaa 写得不错! --小宋 不错 --KE --Strive 谢谢了 --zhanglu 混沌厉害!终于在这里找到答案了!谢谢 --wukong 好东西,顶一下!谢谢啦! --dfgsdfg 刚刚,我也遇到这样的问题.不知道是不是这样的问题,现在准备换成ehcache-1.2.3.jar --lucas 评论内容较长,点击标题查看 --javaboy

阅读排行榜评论排行榜

转:  http://www.blogjava.net/aoxj/archive/2006/08/14/63461.html

前言:大概在去年6月的时候,我们团队开始使用webwork来替代struts,刚开始大 家都没有经验,为了格式化输出时间和数字,想出了很多现在看来笨笨的傻傻的方法。后来俺找到了这个方法,试验了一下之后发了下面这个email给了 team member, 今天一位同事问起这个问题,俺从数以千计的已发送邮件中找到了这个东西,想想决定整理出来。给大家分享一下,顺便给我自己做个备份,呵呵,后者基本上是俺 写blog的一个重要用途。

    分享一个在WebWork中如何格式化显示数字和日期的方法:

具体的做法这里有详细的说明:

http://wiki.opensymphony.com/display/WW1/How+to+format+dates+and+numbers?showComments=true

   下面是项目中推荐使用的时间格式:

#format

global.format.date={0,date,yyyy-MM-dd}

global.format.time={0,date,HH:mm:ss}

global.format.datetime={0,date,yyyy-MM-dd HH:mm:ss}

注意的是如果使用Carlender来保存时间,因为上面要求传入的是Data对象,因此需 要使用Carlender.getTime()方法

从Carlender中获取Date:

<ww:text global.format.date'">

    <ww:param value="'birthday.time()'"/>

</ww:text>

这里使用的是<ww:param/>标签来传递参数,虽然也可以使用 <ww:text format.date'" value0= "'birthday.time()'"/>

但是后面的这个方法在webwork的新版本中已经被要求不要使用,大家还是尽量使用 <ww:param/>标签

禁用value0属性的说明:

大家可以找到text标签的源代码,在 com.opensymphony.webwork.views.jsp.ui.TextTag中:

public void setValue0(String aName) {

        LOG.warn("The value attributes of TextTag are deprecated.");

        value1Attr = aName;

    }

对于数字的格式化,这里有两个参考:

global.format.percent = {0,number,##0.00'%'}

global.format.money = {0,number,$##0.00}

考虑目前在项目中使用最多的是显示附件大小,定义以下格式:

global.format.size.k={0,number,##0.00'K'}

global.format.size.m={0,number,##0.00'M'}

global.format.size.g={0,number,##0.00'G'}

如action有方法

public long getFilesize();  返回的大小是以byte为单位,在显示时通常是以k或M显示

则显示时:

<ww:text global.format.size.k'">

    <ww:param value="filesize/1024"/>

</ww:text>

<ww:text global.format.size.m'">

    <ww:param value="filesize/1048576"/>

</ww:text>

<ww:text global.format.size.g'">

    <ww:param value="filesize/1073741824"/>

</ww:text>

比较遗憾的是似乎没有办法在资源文件中进行这个/1024的运算,试过{0 /1024,number,##0.00'K'} 无法解析。只好在jsp里面用 value="filesize/1024"来计算实际值。不知道这里有没有别的更好的实现方式?

恩,顺便再介绍一下当时俺们team想出来的笨笨的方法,不要见笑啊,以上面的显示文件大小 为例,想到的方法大致有以下几种:

1. 直接输出字符串的结果

   getFileSizeString(), 在里面用java代码判断大小并生成诸如"1.2k", "31.2M"的结果返回

2. 提供多个函数

  getFileSizeByte(), getFileSizeK(), getFileSizeM(), getFileSizeG()

3.使用javascript在client端格式化

      <script type = "text/javascript">     

      var resultNum = <ww:property value="fileSize" />;

       resultNum = format(resultNum);//类似的函数  

      document.write(resultNum);

     </script>

4.使用自定义标签 --------------------------------------------------------------------------------------------------------------

struts2中格式化输出数字和日期的方法

资源文件

......

#格式化数字或时间输出

global.format.date={0,date,yyyy-MM-dd}

global.format.money={0,number,¥##0.00 '元'}

......

JSP文件

格式化时间:  <s:text ><s:param value="publishTime"></s:param></s:text>

格式化数字:  <s:text ><s:param value="price"/></s:text>

2
2
分享到:
评论

相关推荐

    Struts2中POI在内存中生成Excel文件并下载

    可以使用迭代器或集合来创建多行和单元格,根据需要格式化数据(如日期、数字等)。同时,注意处理大量数据时的性能问题,因为所有内容都在内存中处理。 最后,关于标签“源码”和“工具”,这表明这篇博客可能提供...

    fmt标签的使用,对struts开发的程序员是一个很好的帮助

    其中,`fmt`标签库专注于格式化输出和国际化,它提供了一系列标签,用于日期、数字、货币、消息资源等的格式化处理,以及语言环境的设置和切换。 ### `fmt`标签库的关键特性 #### 1. **国际化支持** `fmt`标签库...

    struts2导出excel笔记

    - **设置数据类型和样式**: POI允许我们设置单元格的数据类型(如字符串、数字、日期等)以及格式化样式,如字体、边框、背景色等。 2. **Struts2整合Apache POI** - **添加依赖**: 在项目的Maven或Gradle配置中...

    struts2标签大全

    - `s:property`:显示Action中的属性值,可以格式化日期和数字。 - `s:displayname`:显示Action的属性名,常用于表单标签的label。 - `s:debug`:用于在页面上显示ActionContext中的所有信息,包括请求参数、...

    struts2-tags-API.rar

    `s:property`标签用于输出Action对象的属性值,它支持各种格式化选项,如日期、数字等。 8. **Choice标签**: `s:select`、`s:radio`和`s:checkbox`标签用于创建选择列表,它们可以与Action的属性绑定,提供动态...

    Struts1.2导出Excel表

    2. **构建Excel工作簿**:在`export()`方法中,使用POI API创建一个`HSSFWorkbook`实例(对于旧版Excel,或者使用`XSSFWorkbook`对于较新版本)。然后创建一个`HSSFSheet`表示Excel工作表,并添加`HSSFRow`和`...

    Struts详细资料整理

    - 格式化输出:可以指定`format`属性来格式化输出的日期或数字。 2. **Logic标签** - `&lt;logic:empty&gt;` / `&lt;logic:notEmpty&gt;`:用于检查变量是否为空。 - 示例:`&lt;logic:empty name="attr1"&gt;attr1为空...

    struts2 OGNL之&lt;s:property&gt;标签访问值栈(value stack)用法

    `&lt;s:property&gt;`标签还支持格式化输出,例如日期、数字等: ```jsp ``` 8. **使用标签属性**: `&lt;s:property&gt;`标签还有一些其他有用属性,比如`escape`(控制是否转义HTML实体),`cssClass`(添加CSS类)等,...

    struts2+poi实现导出Excel文件.docx

    - `HSSFCell`则用来存储单元格内的具体数据,可以通过不同类型的构造方法设置文本、数字、日期等类型的数据。 在`ExcelAction`类中,可能包含如下方法: 1. `generateExcel()`:此方法通常用于创建并填充Excel对象...

    struts的标签jstl

    2. **fmt标签库**:用于格式化输出,如日期、数字等,如`&lt;fmt:formatDate&gt;`、`&lt;fmt:parseNumber&gt;`。 3. **sql标签库**:处理数据库操作,如查询、更新、删除,如`&lt;sql:update&gt;`、`&lt;sql:query&gt;`。 4. **xml标签库**:...

    struts学习笔记

    - 格式化库允许对日期、数字等进行格式化,如`fmt:formatDate`和`fmt:formatNumber`。 3. **配置Struts**: 在`struts-config.xml`文件中,添加`&lt;message-resources&gt;`元素来支持国际化,确保正确显示本地化消息。...

    javaee国际化

    本地化是指软件在特定国家或地区使用时,能够适应当地的文化习惯,包括语言、数字、货币和日期格式等。而国际化则是指在软件开发阶段就考虑到多语言和地域的支持,使得软件能够轻松地适应不同国家和地区的本地化需求...

    bean标签使用示例.pdf

    `format`属性用于指定输出格式,通常用于日期、数字等数据类型的格式化。 ### Java Bean在Struts中的作用 在Struts框架中,Java Bean通常用于封装数据。在Action类中,通过设置属性值,然后将Java Bean对象存储在...

    freemarker语法完全总结

    - **插值**:`${...}`或`#{...}`用于插入数据模型中的值,`#{...}`通常用于数字格式化。 - **FTL指令**:以`#`开头的标签,如`&lt;#if&gt;`、`&lt;#foreach&gt;`,用于控制模板逻辑,类似于HTML标签,但不会被输出。 2. **FTL...

    FreeMark学习笔记

    实际上FreeMarker的表达式功能非常强大,它不仅支持直接指定值,输出变量值,也支持字符串格式化输出和集合访问等功能. 3.1 直接指定值 使用直接指定值语法让FreeMarker直接输出插值中的值,而不是输出变量值.直接...

    fmt标签 fmt标签 fmt 标签

    这些标签使得开发者能够在JSP页面中轻松地处理多语言环境和格式化输出。 1. **国际化核心标签**: - `&lt;fmt:setLocale&gt;`:这个标签用于设置用户的本地环境,可以指定为`java.util.Locale`对象或字符串类型。例如,`...

    Beetl 模板语言使用指南

    - **格式化**:格式化输出,如日期和数字的格式化。 - **直接调用类的方法和属性**:允许直接访问对象的方法和属性。 - **错误处理**:处理模板解析和执行时的异常。 - **安全输出**:避免XSS攻击,确保数据安全输出...

    jstl-1.1.2标签库

    5. **Format(格式化)标签库**:处理日期、数字的格式化输出,支持国际化。`&lt;fmt:formatDate&gt;`和`&lt;fmt:formatNumber&gt;`分别用于格式化日期和数字。 **JSTL与Struts的结合使用:** 在Struts框架中,JSTL常用于视...

    freemarker中文手册

    2. 日期和数字格式化:使用`&lt;@fmt.dateFormat&gt;`和`&lt;@fmt.numberFormat&gt;`进行格式化输出。 3. 国际化支持:通过`&lt;#t&gt;`标签支持多语言切换。 总之,Freemarker是一个强大且灵活的模板引擎,它简化了动态内容生成的...

Global site tag (gtag.js) - Google Analytics