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属性的类型见下表:
举个例子:
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>