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

显示结果:

 

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

显示结果:

 

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

显示结果:

 

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>

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不讲理的胖子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值