海湾电源盘电原理图:JSTL详解(五)

来源:百度文库 编辑:偶看新闻 时间:2024/04/27 23:59:53
标签库
看到 I18N 就应该想到知识“国际化”, I18N formatting 标签库就是用于在 JSP 页面中做国际化的动作。在该标签库中的标签一共有 12 个,被分为了两类,分别是:
q         国际化核心标签:
q         格式化标签:
下面只选择其中常见的一些标签和属性进行介绍。
用于设置本地化环境的 标签
标签用于设置 Locale 环境。它的属性和描述如表 9.17 所示:
表 9.17   标签属性和说明
属性
描述
value
Locale 环境的指定,可以是 java.util.Locale 或 String 类型的实例
scope
Locale 环境变量的作用范围(可选)
下面看一个示例:

表示设置本地环境为繁体中文。
用于资源文件绑定的 标签
这两组标签用于资源配置文件的绑定,唯一不同的是 标签将资源配置文件绑定于它标签体中的显示, 标签则允许将资源配置文件保存为一个变量,在之后的可以根据该变量来进行。
根据 Locale 环境的不同将查找不同后缀的资源配置文件,这点在国际化的任何技术上都是一致的,通常来说,这两种标签单独使用是没有意义的,它们都会与 I18N formatting 标签库中的其他标签配合使用。它们的属性和描述如表 9.18 所示:
表 9.18   标签属性和说明
属性
描述
basename
资源配置文件的指定,只需要指定文件名而无须扩展名,二组标签共有的属性
var
独有的属性,用于保存资源配置文件为一个变量
scope
变量的作用范围
下面看一个示例


该示例将会查找一个名为 applicationMessage_zh_CN.properties 的资源配置文件,来作为显示的 Resource 绑定。
用于显示资源配置文件信息的 标签
用于信息显示的标签,将显示资源配置文件中定义的信息。它的属性和描述如表 9.19 所示:
表 9.19   标签属性和说明
属性
描述
key
资源配置文件的“键”指定
bundle
若使用 保存了资源配置文件,该属性就可以从保存的资源配置文件中进行查找
var
将显示信息保存为一个变量
scope
变量的作用范围
下面看一个示例:






该示例使用了两种资源配置文件的绑定的做法,“ applicationMessage ”资源配置文件利用 标签被赋于了变量“ applicationBundle ”,而作为 标签定义的“ applicationAllMessage ”资源配置文件作用于其标签体内的显示。
q         第一个 标签将使用“ applicationAllMessage ”资源配置文件中“键”为“ userName ”的信息显示。
q         第二个 标签虽然被定义在 标签体内,但是它使用了 bundle 属性,因此将指定之前由 标签保存的“ applicationMessage ”资源配置文件,该“键”为“ passWord ”的信息显示。
用于参数传递的 标签
标签应该位于 标签内,将为该消息标签提供参数值。它只有一个属性 value 。
标签有两种使用版本,一种是直接将参数值写在 value 属性中,另一种是将参数值写在标签体内。
用于为请求设置字符编码的 标签
标签用于为请求设置字符编码。它只有一个属性 value ,在该属性中可以定义字符编码。
用于设定时区的 标签
这两组标签都用于设定一个时区。唯一不同的是 标签将使得在其标签体内的工作可以使用该时区设置, 标签则允许将时区设置保存为一个变量,在之后的工作可以根据该变量来进行。它们的属性和描述如表 9.20 所示:
表 9.20   标签 属性和说明
属性
描述
value
时区的设置
var
独有的属性,用于保存时区为一个变量
scope
变量的作用范围
用于格式化数字的 标签
标 签用于格式化数字。它的属性和描述如表 9.21 所示:
表 9.21   标签属性和说明
属性
描述
value
格式化的数字,该数值可以是 String 类型或 java.lang.Number 类型的实例
type
格式化的类型
pattern
格式化模式
var
结果保存变量
scope
变量的作用范围
maxIntegerDigits
指定格式化结果的最大值
minIntegerDigits
指定格式化结果的最小值
maxFractionDigits
指定格式化结果的最大值,带小数
minFractionDigits
指定格式化结果的最小值,带小数
标签实际是对应 java.util.NumberFormat 类, type 属性的可能值包括 currency (货币)、 number (数字)和 percent (百分比)。
下面看一个示例。

该结果将被保存在“ money ”变量中,将根据 Locale 环境显示当地的货币格式。
用于解析数字的 标签
标签用于解析一个数字,并将结果作为 java.lang.Number 类的实例返回。 标签看起来和 标签的作用正好相反。它的属性和描述如表 9.22 所示:
表 9.22   标签属性和说明
属性
描述
value
将被解析的字符串
type
解析格式化的类型
pattern
解析格式化模式
var
结果保存变量,类型为 java.lang.Number
scope
变量的作用范围
parseLocale
以本地化的形式来解析字符串,该属性的内容应为 String 或 java.util.Locale 类型的实例
下面看一个示例。

解析之后的结果为“ 0.15 ”。
用于格式化日期的 标签
标签用于格式化日期。它的属性和描述如表 9.23 所示:
表 9.23   标签属性和说明
属性
描述
value
格式化的日期,该属性的内容应该是 java.util.Date 类型的实例
type
格式化的类型
pattern
格式化模式
var
结果保存变量
scope
变量的作用范围
timeZone
指定格式化日期的时区
标签与 两组标签的关系密切。若没有指定 timeZone属性, 也可以通过 两组标签设定的时区来格式化最后的结果。
用于解析日期的 标签
标签用于解析一个日期,并将结果作为 java.lang.Date 类型的实例返回。 标签看起来和 标签的作用正好相反。它的属性和描述如表 9.24 所示:
表 9.24   标签属性和说明
属性
描述
value
将被解析的字符串
type
解析格式化的类型
pattern
解析格式化模式
var
结果保存变量,类型为 java.lang.Date
scope
变量的作用范围
parseLocale
以本地化的形式来解析字符串,该属性的内容为 String 或 java.util.Locale 类型的实例
timeZone
指定解析格式化日期的时区
两组标签都实现解析字符串为一个具体对象实例的工作,因此,这两组解析标签对 var 属性的字符串参数要求非常严格。就 JSP 页面的表示层前段来说,处理这种解析本不属于份内之事,因此 两组标签应该尽量少用,替代工作的地方应该在服务器端表示层的后段,比如在 Servlet 中。