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


    在写这篇文章之前,看见了一个写的非常详细的博客,基本上是把书上的东西一字不落的复制在了博客上,看起来很方便。地址:http://blog.sina.com.cn/s/blog_4f925fc30101820w.html

    不过,我还是喜欢自己总结一下。 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>

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

  • 相关阅读:
    Cesium 中的图形变换:局部平移、缩放、旋转思路及代码实现
    Cesium中的图形技术:Fabric —— 材质JSON规范
    【Cesium 历史博客】多视锥体优化:使用对数深度缓存
    Cesium中的图形技术:Primitive API 高级
    Cesium中的图形技术:Primitive API 简介
    【Cesium 历史博客】Cesium 中的图形技术:顶点压缩
    【Cesium 历史博客】Cesium 中的图形技术:图形结构
    【Cesium 历史博客】Cesium 中的图形技术:渲染体系结构
    Excel筛选后复制单元格提示无法对合并单元格执行操作解决方法
    plsql导入sql脚本时提示逗号等字符错误或遗失不匹配问题处理方法
  • 原文地址:https://www.cnblogs.com/lihuiyy/p/2369382.html
Copyright © 2020-2023  润新知