java中fmt标签库_[JSTL]3 详解格式化和国际化标签库(format I18N fmt)

A、I18N格式标签库

JSTL标签提供了对国际化(I18N)的支持,它可以根据发出请求的客户端地域的不同来显示不同的语言。同时还提供了格式化数据和日期的方法。实现这些功能需要I18N格式标签库(I18N-capable

formation tags liberary)。

I18N格式标签库提供了11个标签,这些 标签从功能上可以划分为3类如下:

1. 数字日期格式化。

formatNumber标签、formatData标签、parseNumber标签、parseDate标签、timeZone标签、setTimeZone标签。

2. 读取消息资源。

bundle标签、message标签、setBundle标签。

3. 国际化。

setlocale标签、requestEncoding标签。

引入该标签库的方法为:

uri="http://java.sun.com/jsp/jstl/fmt" %>

1、数字日期格式化

数字日期格式化标签共有6个,用来将数字或日期转换成设定的格式。

1.1、标签

该标签依据特定的区域将数字改变为不同的格式来显示。

【语法1】

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]

/>

【语法2】

[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]

>

被格式化的数据

【标签参数】

标签参数说明

名称

说明

EL

类型

必须

默认值

value

要格式化的数据

String

type

指定类型(数字、货币、百分比等)见表

String

number

pattern

格式化的数据样式

String

currencyCode

货币单位代码

String

cuttencySymbol

货币符号($、¥)

String

groupingUsed

是否对整数部分进行分组如(9,999)

boolean

true

maxIntergerDigits

整数部分最对显示多少位数

int

minIntergerDigits

整数部分最少显示多少位

int

maxFractionDigits

小数部分最多显示多少位

int

minFractionDigits

小数部分最少显示多少位

int

var

存储格式化后的数据

String

scope

var的JSP范围

String

page

Type的属性类型

类型

说明

示例

number

数字格式

0.8

currency

当地货币

¥0.80

percent

百分比格式

80%

1.2、标签

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

【语法1】

[type=”number|currency|percent”]

[pattern=”pattern”]

[parseLocale=”locale”]

[intergerOnly=”true|false”]

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

/>

【语法2】

[type=”number|currency|percent”]

[pattern=”pattern”]

[parseLocale=”locale”]

[intergerOnly=”true|false”]

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

>

Number

【标签参数】

标签参数说明

名称

说明

EL

类型

是否必须

默认值

value

被解析的字符串

String

type

指定单位(数字、货币、百分比)

String

number

pattern

格式样式

String

parseLocale

用来替代默认区域的设定

String,

Java.util.

Locale

默认本地样式

var

存储已经格式化的数据

String

scope

var变量的作用域

String

page

可以看作是的逆运算。相应的参数和类型的配置和使用格式化时相同。

1.3、标签

该标签主要用来格式化日期和时间。

【语法】

[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”]

/>

【标签参数】

标签属性说明

属性名

说明

EL

类型

必须

默认值

value

将要格式化的日期对象。

Java.util.Date

type

显示的部分(日期、时间或者两者)。

String

date

partten

格式化的样式。

String

dateStyle

设定日期的显示方式。

String

default

timeStyle

设定时间的显示方式。

String

default

timeZone

设定使用的时区。

String

当地所用时区

var

存储已格式化的日期或时间。

String

scope

指定var存储的JSP范围。

String

其中type属性参数说明见表9-8。

表9-8 type属性参数说明

参数名

说明

time

只显示时间

date

只显示时期

both

显示日期和时间

1.4、标签

标签主要将字符串类型的时间或日期转化为时间或日期对象。

【语法1】

[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”]

/>

【语法2】

[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”]

>

Date

【参数说明】

表9-9 标签属性说明

属性名

说明

EL

类型

必须

默认值

value

将要格式化的日期时间

String

type

字符串的类型(日期、时间或全部)

EL

String

date

pattern

字符串使用的时间样式

String

parseLocale

取代默认地区设定

String

默认地区

dateStyle

字符串使用的日期显示方式

String

default

timeStyle

字符串使用的时间显示格式

String

default

timeZone

使用的时区

String

当地区时

var

使用var定义的名字保存对象

String

scope

var的JSP范围

String

page

1.5、标签

该标签用于设定默认时区或者将时区存储在指定的JSP范围内。

【语法】:

[var=”name”][scope=”page|request|session|application”]/>

【参数说明】:见表9-10

表9-10 标签属性说明

参数名

说明

EL

类型

必须

默认值

value

使用的时区

String

Java.util.TimeZone

var

使用var定义的参数名保存值

String

scope

存储var的JSP范围

String

page

value用来设定使用的时区,例如中国使用的时区为CST,其他的还有EST、PST等。可以把时区存储在指定的JSP范围内,例如存储在session中,用户访问的所有页面都可以显示使用的设定的时区下对应的时间。

【示例代码】

scope=”session”/>

提示:有关TimeZone的说明见JDK帮助文档的java.util.TimeZone类。

1.6、标签

该标签主要用于设置标签体内使用的时区。

【语法】:

value=”timeZone”>

…..

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

2、读取消息资源

读取消息资源用到的标签主要有4个:标签、

2.1、标签

该标签主要用于将资源文件绑定于它的标签体中的显示。

【语法】:

basename=”name”[prefix=”prefix”]>

….标签主题

【参数说明】:见表9-11。

表9-11 标签属性说明

参数名

说明

EL

类型

必须

默认值

basename

指定使用的资源文件的名称

String

prefix

前置关键字

String

2.2、标签

该标签主要用于绑定资源文件或者把资源文件保存在指定的JSP范围内。

【语法】:

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

>

【参数说明】:见表9-12。

表9-12 标签属性说明

参数名

说明

EL

类型

必须

默认值

basename

指定使用的资源文件的名称

String

var

指定将资源文件保存的名称

String

scope

设定将资源文件保存的JSP范围

String

page

2.3、标签

该标签主要负责读取本地资源文件,从指定的消息文本资源文件中读取键值,并且可以将键值保存在指定的JSP范围内。

【语法1】:

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

/>

【语法2】:

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

>

【语法3】:

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

>

key

【参数说明】:见表9-13。

表9-13 标签属性说明

参数名

说明

EL

类型

必须

默认值

key

指定键值的名称(索引)

String

bundle

指定消息文本的来源

LocalizationContext

var

指定存储键值的变量名

String

scope

指定var的作用域

String

page

提示:建议此处的bundle使用EL表达式,因为属性bundle的类型为LocalizationContext,而不是一个String类型的URL。

2.4、

该标签主要用于当中资源文件中获得键值时,动态的为资源文件中的变量赋值。

【语法1】:

【语法2】:

…标签主体

3、国际化

国际化这个分类中共包含两个标签:用于设定语言地区和用于设定请求的字符编码的标签。

3.1、标签

标签用来设定用户语言区域。

【语法】:

value=”locale”[variant=”variant”]

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

【参数说明】:见表9-14。

表9-14 标签属性说明

参数名

说明

EL

类型

必须

默认值

value

指定区域代码

String

java.util.Locale

variant

操作系统的类型

String

scope

设定时区的作用范围

String

page

value属性用来指定使用的语言代码,可以从浏览器的【工具】---【Internet选项】---【语言】---【添加】中查看浏览器支持的语言种类及语言代码。例如:中文(zh_cn)、台湾(zh_tw)、香港(zh_mo)等。

3.2、标签

该标签用于设定请求的编码格式。功能同servletRequest.setCharacterEncoding()方法相同。

【语法】:

[value=”charEncoding”]/>

【参数说明】:

value属性用来指定使用的编码集例如:gbk、gb2312等。当没有给出value的值时将会自动搜索取寻找合适的编码方式,因此能够很好的解决中文乱码问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值