JSTL I18N 格式标签库___数字日期格式化

来源:互联网 发布:网络交流平台 编辑:程序博客网 时间:2024/06/05 18:11

引入该标签库的方法为:

<%@ 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属性的类型见下表:

 

举个例子:

<%@ page language="java" pageEncoding="gbk"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<html>
    <head>
        <title>I18N标签库</title>
    </head>
    <body>
        <h4 align="center">
            <c:out value="<frm:number>标签的使用"></c:out>
        </h4>
        <hr>
        <table border=1 cellpadding="0" cellspacing="0" align="center">
            <tr align="center">
                <td width="100">  类型</td>
                <td width="100"> 使用数据</td>
                <td width="100"> 结果</td>
                <td width="300"> 说明</td>
            </tr>
            <tr>
                <td> 数字格式化</td>
                <td> 108.75</td>
                <td>
                    <fmt:formatNumber type="number" pattern="###.#">108.75</fmt:formatNumber>
                </td>
                <td>使用pattern可以定义显示的样式。本例设定为###.#小数部分将使用四舍五入法。</td>
            </tr>
            <tr>
                <td> 数字格式化 </td>
                <td> 9557</td>
                <td>
                    <fmt:formatNumber type="number" pattern="#.####E0">9557</fmt:formatNumber>
                </td>
                <td> 使用科学计数法。</td>
            </tr>
            <tr>
                <td> 数字格式化</td>
                <td>9557</td>
                <td>
                    <fmt:formatNumber type="number">9557</fmt:formatNumber>
                </td>
                </td>
                <td>使用默认分组。</td>
            </tr>
            <tr>
                <td>数字格式化</td>
                <td> 9557</td>
                <td>
                    <fmt:formatNumber type="number" groupingUsed="false">9557</fmt:formatNumber>
                </td>
                <td> 不使用分组。</td>
            </tr>
            <tr>
                <td> 数字格式化</td>
                <td> 9557</td>
                <td>
                    <fmt:formatNumber type="number" maxIntegerDigits="3">9557</fmt:formatNumber>
                </td>
                <td> 使用位数限定,根据指定的位数显示,其他数字忽略。例如:9不被显示。</td>
            </tr>
            <tr>
                <td>百分比格式化</td>
                <td> 0.98</td>
                <td>
                    <fmt:formatNumber type="percent">0.98</fmt:formatNumber>
                </td>
                <td> 用百分比形式显示一个数据。</td>
            </tr>
            <tr>
                <td>货币格式化  </td>
                <td>188.88 </td>
                <td>
                    <fmt:formatNumber type="currency">188.8</fmt:formatNumber>
                </td>
                <td> 将一个数据转化为货币形式输出。 </td>
            </tr>
            <tr>
                <td>  存储数据 </td>
                <td> 188.88</td>
                <td>
                    <fmt:formatNumber type="currency" var="money">188.8</fmt:formatNumber>
                    <c:out value="${money}"></c:out>
                </td>
                <td> 存储的money的值为${money} </td>
            </tr>
        </table>
    </body>
</html>

显示结果如下:

 

2.<frm:parseNumber>标签

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

【语法】:

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

                                                       [pattern=”pattern”]

                                                       [parseLocale=”locale”]                       

                                                       [intergerOnly=”true|false”]

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

/>

举个例子:

<%@ 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 属性类型有:

举个例子:

复制代码
 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”]

/>

举个例子:

复制代码
 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>

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














































































0 0
原创粉丝点击