当前位置:首页 >> 网络编程

JSP中常用的JSTL fmt(format格式化)标签用法整理

JSTL标签提供了对国际化(I18N)的支持,它可以根据发出请求的客户端地域的不同来显示不同的语言。同时还提供了格式化数据和日期的方法。实现这些功能需要I18N格式标签库(I18N-capable formation tags liberary)。引入该标签库的方法为:
<%@ 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标签。
接下将详细介绍这些标签的功能和使用方式。

<fmt:formatNumber>标签

根据区域或定制的方式将数字格式化成数字、货币或百分比

<fmt:formatNumber value="number" [type={number|currency|percent|}]

[pattern="pattern"]

[currencyCode="currencyCode"]

[currentSymbol="currentSymbol"]

[groupingUsec="{true|false}"]

[maxIntergerDigits="maxIntergerDigits"]

[minIntergerDigits="minIntergerDigits"]

[maxFractionDigits="maxFractionDigits"]

[minFractionDigits="minFractionDigits"]

[var="varname"]

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

 />

<%@page language="java" contentType="text/html;charset=utf-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
<!DOCTYPE html>
<html>
  <head>
    <title>FormatNumber标签使用</title>
  </head>
  <body>
    <h1>FormatNumber标签使用</h1>
    <fmt:setLocale value="fr_fr" />
    France:<fmt:formatNumber value="123456789.012"/>
    <fmt:setLocale value="zh_cn" />
    China:<fmt:formatNumber value="123456789.012"/>
    <fmt:setLocale value="de_de" />
    Germany:<fmt:formatNumber value="123456789.012"/>
     
  </body>
</html>

<fmt:parseNumber />标签

用来将字符串类型的数字、货币、或百分比转换成数字类型

<fmt:parseNumber value="numberString" [type={number|currency|percent|}]

[pattern="pattern"]

[parseLocale="parseLocale"]

[integerOnly="{false|true}"]

[var="varname"]

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

 />

<fmt:formatDate />标签

用来将日期类型转换为字符串类型日期

<fmt:formatDate value="number" [type={time|date|both}]

[pattern="pattern"]

[dateStyle="{default|short|medium|long|full}"]

[timeStyle="{default|short|medium|long|full}"]

[timeZone="timeZone"]

[var="varname"]

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

 />

<fmt:parseDate />标签

用来将字符串类型的时间或日期转换成日期时间类型

<fmt:parseDate value="date" [type={time|date|both}]

[pattern="pattern"]

[dateStyle="{default|short|medium|long|full}"]

[timeStyle="{default|short|medium|long|full}"]

[timeZone="timeZone"]

[var="varname"]

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

 />

<fmt:setTimeZone />标签

用来设置默认时区或将时区存储到属性范围中

复制代码 代码如下:

<fmt:setTimeZone value="timezone" [var="varname"] [scope="{page|request|session|application}"] />

<fmt:timeZone />标签 用来暂时的设定时区
<fmt:timeZone value="timeZone">

本体内容

</fmt:timeZone>

<fmt:setLocale />标签

用来设定用户的区域语言

复制代码 代码如下:

<fmt:setLocale value="locale" [variant="variant"] [scope="{page|request|session|application}"] />

<fmt:requestEncoding />标签 设定接收的字符串的编码格式
<fmt:requestEncoding value="charsetName" />

<fmt:setBundle />标签

用来设定默认的数据来源,也可以将其存储到一定范围中,供需要时使用

复制代码 代码如下:

<fmt:setBundle basename="basename" [var="varname"] [scope="{page|request|session|application}"] />

<fmt:message />标签

用来从指定的资源文件中通过索引取得值

复制代码 代码如下:

<fmt:message key="messageKey" [bundle="resourceBundle"] [var="varname"] [scope="{page|request|session|application}"] />

<fmt:param />标签

用来传递参数(在从资源文件中取得信息时,可能需要动态设定参数的情况下)

<fmt:param value="messageParameter" />

没有本体内容

<fmt:param value="messageParameter" >有本体内容

参数

</fmt:param>

<fmt:bundle />标签

用来设定数据来源

<fmt:bundle basename="basename" [prefix="prefix"] >

本体内容<fmt:message>

</fmt:bundle>