`

JSTL I18N 格式标签库 使用之一数字日期格式化

 
阅读更多

I18N格式标签库:I18N-capable formation tags library.它可以根据发出请求的客户端地域的不同来显示不同的语言。同时还提供了格式化数据和日期的方法。引入该标签库的方法为:

<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>

I18N格式标签库提供了11个标签,这些 标签从功能上可以划分为3类如下:

1)数字日期格式化。formatNumber标签、formatData标签、parseNumber标签、parseDate标签、timeZone标签、setTimeZone标签。

2)读取消息资源。bundle标签、message标签、setBundle标签。

3)国际化。setlocale标签、requestEncoding标签。

 

1.<frm:formatNumber/>标签

该标签依据特定的区域将数字改变为不同的格式来显示。

【语法】:

<frm:formatNumber value=”被格式化的数据”[type=”number|currency|percent”]

[pattern=”pattern”]

[currencyCode=”code”]

[currencySymbol=”symbol”]

[groupingUsed=”true|false”]

[maxIntergerDigits=”maxDigits”]

[minIntergerDigits=”minDigits”]

[maxFractionDigits=”maxDigits”]

[minFractionDigits=”minDigits”]

[var=”name”]

[scope=page|request|session|application]

/>

其中,Type属性的类型见下表:

 

举个例子:

View Code
复制代码
  1 <%@ page language="java" pageEncoding="gbk"%>
  2 <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
  3 <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
  4 <html>
  5     <head>
  6         <title>I18N标签库</title>
  7     </head>
  8     <body>
  9         <h4 align="center">
 10             <c:out value="<frm:number>标签的使用"></c:out>
 11         </h4>
 12         <hr>
 13         <table border=1 cellpadding="0" cellspacing="0" align="center">
 14             <tr align="center">
 15                 <td width="100">
 16                     类型
 17                 </td>
 18                 <td width="100">
 19                     使用数据
 20                 </td>
 21                 <td width="100">
 22                     结果
 23                 </td>
 24                 <td width="300">
 25                     说明
 26                 </td>
 27             </tr>
 28             <tr>
 29                 <td>
 30                     数字格式化
 31                 </td>
 32                 <td>
 33                     108.75
 34                 </td>
 35                 <td>
 36                     <fmt:formatNumber type="number" pattern="###.#">108.75</fmt:formatNumber>
 37                 </td>
 38                 <td>
 39                     使用pattern可以定义显示的样式。本例设定为###.#小数部分将使用四舍五入法。
 40                 </td>
 41             </tr>
 42             <tr>
 43                 <td>
 44                     数字格式化
 45                 </td>
 46                 <td>
 47                     9557
 48                 </td>
 49                 <td>
 50                     <fmt:formatNumber type="number" pattern="#.####E0">9557</fmt:formatNumber>
 51                 </td>
 52                 <td>
 53                     使用科学计数法。
 54                 </td>
 55             </tr>
 56             <tr>
 57                 <td>
 58                     数字格式化
 59                 </td>
 60                 <td>
 61                     9557
 62                 </td>
 63                 <td>
 64                     <fmt:formatNumber type="number">9557</fmt:formatNumber>
 65                 </td>
 66                 </td>
 67                 <td>
 68                     使用默认分组。
 69                 </td>
 70             </tr>
 71             <tr>
 72                 <td>
 73                     数字格式化
 74                 </td>
 75                 <td>
 76                     9557
 77                 </td>
 78                 <td>
 79                     <fmt:formatNumber type="number" groupingUsed="false">9557</fmt:formatNumber>
 80                 </td>
 81                 <td>
 82                     不使用分组。
 83                 </td>
 84             </tr>
 85             <tr>
 86                 <td>
 87                     数字格式化
 88                 </td>
 89                 <td>
 90                     9557
 91                 </td>
 92                 <td>
 93                     <fmt:formatNumber type="number" maxIntegerDigits="3">9557</fmt:formatNumber>
 94                 </td>
 95                 <td>
 96                     使用位数限定,根据指定的位数显示,其他数字忽略。例如:9不被显示。
 97                 </td>
 98             </tr>
 99             <tr>
100                 <td>
101                     百分比格式化
102                 </td>
103                 <td>
104                     0.98
105                 </td>
106                 <td>
107                     <fmt:formatNumber type="percent">0.98</fmt:formatNumber>
108                 </td>
109                 <td>
110                     用百分比形式显示一个数据。
111                 </td>
112             </tr>
113             <tr>
114                 <td>
115                     货币格式化
116                 </td>
117                 <td>
118                     188.88
119                 </td>
120                 <td>
121                     <fmt:formatNumber type="currency">188.8</fmt:formatNumber>
122                 </td>
123                 <td>
124                     将一个数据转化为货币形式输出。
125                 </td>
126             </tr>
127             <tr>
128                 <td>
129                     存储数据
130                 </td>
131                 <td>
132                     188.88
133                 </td>
134                 <td>
135                     <fmt:formatNumber type="currency" var="money">188.8</fmt:formatNumber>
136                     <c:out value="${money}"></c:out>
137                 </td>
138                 <td>
139                     存储的money的值为${money}
140                 </td>
141             </tr>
142         </table>
143     </body>
144 </html>
复制代码

显示结果如下:

 

2.<frm:parseNumber>标签

将格式化后的数字、货币、百分比都转化为数字类型。

【语法】:

<fmt:parseNumber value="number" [type=”number|currency|percent”]

[pattern=”pattern”]

[parseLocale=”locale”]

[intergerOnly=”true|false”]

[scope=”page|request|session|application”]

/>

举个例子:

View Code
复制代码
 1 <%@ page language="java" pageEncoding="gbk"%>
 2 <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
 3 <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
 4 <html>
 5     <head>
 6         <title>I18N标签库</title>
 7     </head>
 8     <body>
 9         <h4>
10             <c:out value="<frm:parseNumber>标签的使用"></c:out>
11         </h4>
12         <hr>
13     </body>
14     <fmt:formatNumber type="currency" var="money">188.8</fmt:formatNumber>
15     <li>
16         格式化前的数据为:
17         <c:out value="${money}"></c:out>
18         <fmt:parseNumber var="money" type="currency">${money}</fmt:parseNumber>
19         <li>
20             格式化后的数据为:
21             <c:out value="${money}"></c:out>
22             <li>
23                 可以对格式化的后的数据进行运算:
24                 <c:out value="${money+200}"></c:out>
25                 <li>
26                     对百分比进行格式化98%为:
27                     <fmt:parseNumber type="percent">98%</fmt:parseNumber>
28 </html>
复制代码

显示结果:

 

3.<fmt:formatDate>标签

该标签主要用来格式化日期和时间。

【语法】:

<fmt: formatDate value=”date” [type=”time|date|both”]

[pattern=”pattern”]

[dateStyle=”default|short|medium|long|full”]

[timeStyle=”default|short|medium|long|full”]

[timeZone=”timeZone”]

[var=”name”]

[scope=”page|request|session|application”]

/>

其中 type 属性类型有:

举个例子:

View Code
 1 <%@ page language="java" pageEncoding="gbk"%>
 2 <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
 3 <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
 4 <jsp:useBean id="date" class="java.util.Date"></jsp:useBean>
 5 <html>
 6     <head>
 7         <title>I18N标签库</title>
 8     </head>
 9     <body>
10         <fmt:formatDate value="${date}"></fmt:formatDate>
11         <br>
12         <fmt:formatDate value="${date}" type="both"></fmt:formatDate>
13         <br>
14         <fmt:formatDate value="${date}" type="both" dateStyle="default"
15             timeStyle="default"></fmt:formatDate>
16         <br>
17         <fmt:formatDate value="${date}" type="both" dateStyle="short"
18             timeStyle="short"></fmt:formatDate>
19         <br>
20         <fmt:formatDate value="${date}" type="both" dateStyle="long"
21             timeStyle="long"></fmt:formatDate>
22         <br>
23         <fmt:formatDate value="${date}" type="both" dateStyle="full"
24             timeStyle="full"></fmt:formatDate>
25         <br>
26         <fmt:formatDate value="${date}" type="both" dateStyle="full"
27             timeStyle="full"></fmt:formatDate>
28         <br>
29     </body>
30 </html>

显示结果:

 

4.<fmt:parseDate>标签

<fmt:parseDate>标签主要将字符串类型的时间或日期转化为时间或日期对象。

【语法】:

<fmt:parseDate value=”date” [type=”time|date|both”]

[pattern=”pattern”]

[parseLocale=”locale”]

[dateStyle=”default|short|medium|long|full”]

[timeStyle=”default|short|medium|long|full”]

[timeZone=”timezone”]

[var=”name”]

[scope=”page|request|session|application”]

/>

举个例子:

View Code
 1 <%@ page language="java" pageEncoding="gbk"%>
 2 <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
 3 <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
 4 <jsp:useBean id="date" class="java.util.Date"></jsp:useBean>
 5 <html>
 6     <head>
 7         <title>I18N标签库</title>
 8     </head>
 9     <body>
10         <H4>
11             <c:out value="<frm:parseDate>标签的使用"></c:out>
12         </H4>
13         <hr>
14         <fmt:formatDate value="${date}" var="a" type="both" dateStyle="full"
15             timeStyle="full"></fmt:formatDate>
16         <fmt:parseDate var="b" type="both" dateStyle="full" timeStyle="full">
17 ${a}
18 </fmt:parseDate>
19         <%
20             out.println(pageContext.getAttribute("b").toString());
21             out.println("<br>");
22             out.println(pageContext.getAttribute("b").hashCode());
23 %>
24     </body>
25 </html>

显示结果:

 

5. <fmt:setTimeZone>标签

该标签用于设定默认时区,或者将时区存储在指定的JSP范围内。

【语法】

<fmt:setTimeZone value="value" [var="name"] [scope="page|request|session|application"]/>

举个例子:

<fmt:setTimeZone value="EST" scope="session"> 中国使用的时区为CST。有关TimeZone的说明在JDK帮助文档的 java.util.TimeZone 类。

6. <fmt:timeZone>标签

该标签主要用于设置标签体内使用的时区。

【语法】

<fmt:timeZone value="timeZone">

……

</fmt:timeZone>

该标签只会应用到标签体内使用的时区,为标签外部不产生影响。

 

转载:http://www.cnblogs.com/lihuiyy/archive/2012/02/27/2369382.html

分享到:
评论

相关推荐

    jstl标签库与使用教程

    - Format库则负责国际化和格式化功能,如日期和数字的格式化。 - Function库包含了一些实用的函数,可以扩展EL(Expression Language)表达式。 - I18N库支持多语言环境,帮助开发者实现国际化。 - SQL库则提供与...

    JSTL标签库 api

    本文将深入探讨JSTL的核心标签库、数据库标签库、I18N格式化标签库、XML标签库和JSTL函数标签库,帮助开发者掌握这些标签的使用方法。 #### JSTL核心标签库:基础与变量管理 JSTL的核心标签库是JSTL中最常用的库之...

    JSTL(JSP标准标签库)介绍.doc

    I18N标签库提供日期、时间、数字的格式化以及国际化支持。例如,`&lt;fmt:formatDate&gt;`用于格式化日期,`&lt;fmt:message&gt;`用于获取国际化的消息。 ```jsp ${now}" pattern="yyyy-MM-dd" /&gt; ``` 上述代码会将当前...

    JSTL标签库-tomcat10-简化JSP中java代码

    2. **JSTL Format库**:提供了格式化日期、数字、货币等的功能,如`&lt;fmt:formatDate&gt;`、`&lt;fmt:formatNumber&gt;`等。 3. **JSTL Function库**:包含了一些预定义的函数,如`fn:length()`用于获取字符串或数组的长度。 ...

    JSTL标签库jar包

    - **I18N**: 国际化支持,包括`fmt`标签库,提供了日期、数字格式化以及资源包管理等功能,便于多语言网站的开发。 - **XML处理**: 包含`xml`标签库,提供了处理XML文档的能力,如解析XML、遍历节点等。 **2. `...

    JavaWeb-12:自定义标签库开发&JSTL标签库

    3. **I18N标签**:支持国际化和本地化,如`&lt;fmt:message&gt;`用于显示资源包中的消息,`&lt;fmt:setLocale&gt;`设置当前会话的locale。 4. **XML标签**:处理XML文档,如`&lt;c:out&gt;`显示XML内容,`&lt;x:parse&gt;`解析XML字符串。 ...

    jstl标签库的配置

    - `fmt:formatNumber`和`fmt:formatDate`:数字和日期格式化,如`${price}" type="currency" /&gt;`。 在Struts框架中,JSTL可以与Struts标签库结合使用,共同构建高效、简洁的MVC架构。例如,可以利用JSTL进行数据...

    JSTL(PDF格式)

    - **数字日期格式化标签**:提供精细的日期和时间格式化选项,满足各种应用场景需求。 #### SQL标签库(SQL Tags) SQL标签库使开发者能够在JSP页面中执行SQL操作,无需编写复杂的Java代码。其关键特性包括: - **...

    jstl标签库文档

    I18N格式标签库主要用于实现国际化的功能,包括日期、数字的格式化等。 - **`&lt;fmt:formatDate&gt;`** - **功能**: 格式化日期。 - **属性**: - `value`: 日期值。 - `pattern`: 日期格式。 - **实例**: ```jsp ...

    jstl标签库jar包

    2. **I18N和Format库**:用于处理国际化和格式化日期、数字和货币等。 3. **Function库**:包含一系列函数,可以扩展JSP页面上的表达式语言(EL)。 4. **XML库**:提供了处理XML文档的能力,包括XPath查询和XML数据...

    使用taglibs-i18n进行国际化处理范例

    此外,还可以使用`&lt;fmt:formatNumber&gt;`和`&lt;fmt:formatDate&gt;`等标签格式化数字和日期,以符合不同语言的习惯。 在实际开发中,我们还需要考虑如何处理用户的语言选择。这通常涉及到服务器端的逻辑,比如在Servlet中...

    jstl标签使用文档,jstl标签使用帮助文档

    JSTL还允许我们在页面中进行国际化(i18n)处理,通过`fmt`库中的标签可以方便地处理不同语言环境下的日期、数字格式。 总的来说,JSTL极大地简化了JSP开发,通过提供预定义的标签,让开发者能更专注于业务逻辑,而非...

    JSTL标准标签库的应用

    - 功能: 支持JSP页面的国际化,如日期和数字的格式化。 4. **SQL标签库 (SQL Tag Library)** - URI: `http://java.sun.com/jstl/sql` - 前缀: `sql` - 示例: `&lt;sql:query&gt;` - 功能: 支持JSP对数据库的操作。 ...

    Java-JSTL(JSP标准标签库)介绍

    - **I18N & Format**:支持国际化和格式化,如日期和数字的格式化。 - **XML**:处理XML文档,包括解析、查询和转换。 - **Function**:包含一组自定义函数,可以扩展JSP表达式语言。 - **JDBC**:简化数据库操作,...

    jstl标签使用的总结心得

    3. I18N capable formatting库(国际化格式化库):提供日期、时间、数字的格式化,以及国际化资源包的处理。`&lt;fmt:formatDate&gt;`、`&lt;fmt:message&gt;`等标签支持多语言环境下的页面显示。 4. Database access (SQL)库...

    JSTL标签库

    2. **I18N格式化标签库**:这个库提供国际化的支持,帮助处理日期、数字和消息的格式化。 3. **SQL标签库**:用于执行数据库查询、事务管理和结果集处理。 4. **XML标签库**:处理XML文档的解析、创建和操作。 5....

    jstl标签jstl--jstl.jar-standard.jar

    JSTL I18N标签库** 这个库支持多语言环境,帮助开发者更方便地处理不同语言的字符串和格式。 - `&lt;fmt:message&gt;` 和 `&lt;fmt:setBundle&gt;`:用于处理多语言资源文件。 **4. JSTL SQL标签库** JSTL SQL库提供了一组与...

    web开发常用的东东备份-国际化i18n

    在这个特定的案例中,"taglibs-i18n.tld"很可能与国际化功能有关,它可能包含了用于处理不同语言环境的标签定义,如显示多语言文本、日期和时间格式化等。 在Web应用的国际化实现中,通常会使用如下步骤: 1. **...

Global site tag (gtag.js) - Google Analytics