javaweb国际化/格式化标签

在JSTL中,国际化/格式化标签有;

国际化标签

<fmt:setLocale>

<fmt:bundle>

<fmt:setBundle>

<fmt:message>

<fmt:param>

<fmt:requestEncoding>

格式化标签

<fmt:timeZone>

<fmt:setTimeZone>

<fmt:formatNumber>

<fmt:parseNumber>

<fmt:formatDate>

<fmt:parseDate>

1、<fmt:setLocale>

用于设置 Locale 环境。

属性:

value:Locale环境的指定,可以是java.util.Locale 或 String 类型的实例。

scope:Locale环境变量的作用范围(可选)

举例:

<fmt:setLocalevalue="zh_CN"/> 表示设置本地环境为简体中文。

<fmt:setLocalevalue="en_US"/> 表示设置本地环境为美国英语。

2、<fmt:bundle>和<fmt:setBundle>

这两组标签用于资源配置文件的绑定,唯一不同的是 <fmt:bundle>标签将资源配置文件绑定于它标签体中的显示,<fmt:setBundle>标签则允许将资源配置文件保存为一个变量,在之后的工作可以根据该变量来进行资源配置文件绑定。

属性:

basename:资源配置文件的指定,只需要指定文件名而无须扩展名,二组标签共有的属性。

var:<fmt:setBundle> 独有的属性,用于保存资源配置文件为一个变量。

scope:变量的作用范围。

举例:

<fmt:setLocalevalue="en_US "/>

<fmt:setBundlebasename="message" var="message"/>

该示例将会查找一个名为 message_en_US.properties 的资源配置文件,来作为显示的Resource 绑定。

3、<fmt:message>

用于信息显示的标签,将显示资源配置文件中定义的信息。

属性:

key:资源配置文件的“键”指定

bundle:若使用<fmt:setBundle> 保存了资源配置文件,该属性就可以从保存的资源配置文件中进行查找

var:将显示信息保存为一个变量

scope:变量的作用范围

举例:

<fmt:setBundlebasename="message" var="message"/>

<fmt:bundlebasename="allMessage">

<fmt:messagekey="userName" />

<fmt:message key="password"bundle="${message}"/>

</fmt:bundle>

该示例使用了两种资源配置文件的绑定的做法,“message”资源配置文件利用 <fmt:setBundle> 标签被赋于了变量“message”,而作为 <fmt:bundle> 标签定义的“allMessage”资源配置文件作用于其标签体内的显示。

第一个 <fmt:message> 标签将使用“allMessage”资源配置文件中“键”为“userName”的信息显示。

第二个 <fmt:message> 标签虽然被定义在<fmt:bundle> 标签体内,但是它使用了 bundle 属性,因此将指定之前由 <fmt:setBundle> 标签保存的“ message ”资源配置文件,该“键”为“ password ”的信息显示。

4、<fmt:param>

<fmt:param>标签应该位于<fmt:message> 标签内,将为该消息标签提供参数值。它只有一个属性 value 。
<fmt:param> 标签有两种使用版本,一种是直接将参数值写在 value 属性中,另一种是将参数值写在标签体内。

5、<fmt:requestEncoding>

用于为请求设置字符编码。它只有一个属性 value ,在该属性中可以定义字符编码。

6、<fmt:timeZone>和<fmt:setTimeZone>

这两组标签都用于设定一个时区。唯一不同的是 <fmt:timeZone> 标签将使得在其标签体内的工作可以使用该时区设置, <fmt:setBundle> 标签则允许将时区设置保存为一个变量,在之后的工作可以根据该变量来进行。

属性:

value:时区的设置

var:<fmt:setTimeZone> 独有的属性,用于保存时区为一个变量

scope:变量的作用范围

举例:

<jsp:useBeanid="now" class="java.util.Date"/>

<!--用于格式化输出时间GMT(格林尼治标准时间) -->

<fmt:timeZonevalue="Asia/Hong_Kong">

<fmt:formatDatevalue="${now}" type="both" dateStyle="full"timeStyle="full"/>

</fmt:timeZone>

7、<fmt:formatNumber>

用于格式化数字。

属性:

Value:格式化的数字,该数值可以是String类型或java.lang.Number类型的实例

Type:格式化的类型

Pattern:格式化模式

Var:结果保存变量

Scope:变量的作用范围

maxIntegerDigits:指定格式化结果的最大值

minIntegerDigits:指定格式化结果的最小值

maxFractionDigits:指定格式化结果的最大值,带小数

minFractionDigits:指定格式化结果的最小值,带小数

注明:

<fmt:formatNumber>标签对应java.util.NumberFormat 类, type 属性的可能值包括 currency (货币)、 number (数字)和 percent (百分比)。

举例:

<fmt:formatNumbervalue="1000.888" type="currency" var="money"/>

该结果将被保存在“ money ”变量中,将根据 Locale 环境显示当地的货币格式。

<fmt:formatNumbervalue="123456.789" pattern="$#,###.##"var="number"/>

<fmt:formatNumbervalue="0.12" type="percent" var="percent"/>

8、<fmt:parseNumber>

用于解析一个数字,并将结果作为 java.lang.Number 类的实例返回。<fmt:parseNumber> 标签看起来和 <fmt:formatNumber>标签的作用正好相反。

属性:

Value:将被解析的字符串

Type:解析格式化的类型

Pattern:解析格式化模式

Var:结果保存变量,类型为java.lang.Number

Scope:变量的作用范围

parseLocale:以本地化的形式来解析字符串,该属性的内容应为 String 或 java.util.Locale 类型的实例

举例:

<fmt:parseNumbervalue="15%" type="percent" var="num"/>

解析之后的结果为“ 0.15 ”。

<fmt:parseNumbervalue="$123,456.79" pattern="$#,###.##"var="number"/>

9、<fmt:parseNumber>

用于解析一个数字,并将结果作为 java.lang.Number 类的实例返回。<fmt:parseNumber> 标签看起来和 <fmt:formatNumber>标签的作用正好相反。

属性:

Value:将被解析的字符串

Type:解析格式化的类型

Pattern:解析格式化模式

Var:结果保存变量,类型为java.lang.Number

Scope:变量的作用范围

parseLocale:以本地化的形式来解析字符串,该属性的内容应为 String 或 java.util.Locale 类型的实例

举例:

<fmt:parseNumbervalue="15%" type="percent" var="num"/>

解析之后的结果为“ 0.15 ”。

<fmt:parseNumbervalue="$123,456.79" pattern="$#,###.##"var="number"/>

10、<fmt:parseDate>

用于解析一个日期,并将结果作为 java.lang.Date 类型的实例返回。<fmt:parseDate> 标签看起来和<fmt:formatDate> 标签的作用正好相反。

属性:

Value:将被解析的字符串

Type:解析格式化的类型

Pattern:解析格式化模式

Var:结果保存变量,类型为java.lang.Date

Scope:变量的作用范围

parseLocale:以本地化的形式来解析字符串,该属性的内容为String 或 java.util.Locale 类型的实例

timeZone: 指定解析格式化日期的时区

注明:

<fmt:parseNumber>和<fmt:parseDate> 两组标签都实现解析字符串为一个具体对象实例的工作,因此,这两组解析标签对 var 属性的字符串参数要求非常严格。就 JSP 页面的表示层前段来说,处理这种解析本不属于份内之事,因此 <fmt:parseNumber> 和<fmt:parseDate> 两组标签应该尽量少用,替代工作的地方应该在服务器端表示层的后段,比如在 Servlet 中。

举例:

<fmt:parseDatevalue="2010年06月04日 星期五 15时24分57秒"type="both" pattern="yyyy年MM月dd日 EEEE HH时mm分ss秒" var="ttt"/>


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值