下面只选择其中常见的一些标{֒属性进行介l?/span>
<fmt:setLocale>标签用于讄Locale环境。它的属性和描述如表9.17所C:(x)
?/span>9.17 <fmt:setLocale>标签属性和说明
属?/span> | 描述 |
value | Locale环境的指定,可以?/span>java.util.Locale?/span>Stringcd的实?/span> |
scope | Locale环境变量的作用范_(d)可选) |
下面看一个示例:(x)
<fmt:setLocale value="zh_TW"/>
表示讄本地环境为繁体中文?br />
q两l标{于资源配|文件的l定Q唯一不同的是<fmt:bundle>标签资源配|文件绑定于它标{体中的昄Q?/span><fmt:setBundle>标签则允许将资源配置文g保存Z个变量,在之后的
Ҏ(gu)Locale环境的不同将查找不同后缀的资源配|文Ӟq点在国际化的Q何技术上都是一致的Q通常来说Q这两种标签单独使用是没有意义的Q它们都?x)?/span>I18N formatting标签库中的其他标{N合用。它们的属性和描述如表9.18所C:(x)
?/span>9.18 <fmt:bundle>?/span><fmt:setBundle>标签属性和说明
属?/span> | 描述 |
basename | 资源配置文g的指定,只需要指定文件名而无L展名Q二l标{օ有的属?/span> |
var | <fmt:setBundle>独有的属性,用于保存资源配置文gZ个变?/span> |
scope | 变量的作用范?/span> |
下面看一个示?/span>
<fmt:setLocale value="zh_CN"/>
<fmt:setBundle basename="applicationMessage" var="applicationBundle"/>
该示例将?x)查找一个名?/span>applicationMessage_zh_CN.properties的资源配|文Ӟ来作为显C的Resourcel定?/span>
用于信息昄的标{,显C源配|文件中定义的信息。它的属性和描述如表9.19所C:(x)
?/span>9.19 <fmt:message>标签属性和说明
属?/span> | 描述 |
key | 资源配置文g的“键”指?/span> |
bundle | 若?/span><fmt:setBundle>保存了资源配|文Ӟ该属性就可以从保存的资源配置文g中进行查?/span> |
var | 显CZ息保存ؓ(f)一个变?/span> |
scope | 变量的作用范?/span> |
下面看一个示例:(x)
<fmt:setBundle basename="applicationMessage" var="applicationBundle"/>
<fmt:bundle basename="applicationAllMessage">
<fmt:message key="userName" />
<p>
<fmt:message key="passWord" bundle="${applicationBundle}" />
</fmt:bundle>
该示例用了两种资源配置文g的绑定的做法Q?/span>applicationMessage”资源配|文件利?/span><fmt:setBundle>标签被赋于了变量?/span>applicationBundle”,而作?/span><fmt:bundle>标签定义的?/span>applicationAllMessage”资源配|文件作用于其标{体内的昄?/span>
q W一?/span><fmt:message>标签用?/span>applicationAllMessage”资源配|文件中“键”ؓ(f)?/span>userName”的信息昄?/span>
q W二?/span><fmt:message>标签虽然被定义在<fmt:bundle>标签体内Q但是它使用?/span>bundle属性,因此指定之前由<fmt:setBundle>标签保存的?/span>applicationMessage”资源配|文Ӟ该“键”ؓ(f)?/span>passWord”的信息昄?/span>
<fmt:param>标签应该位于<fmt:message>标签内,ؓ(f)该消息标{提供参数倹{它只有一个属?/span>value?/span>
<fmt:param>标签有两U用版本,一U是直接参数值写?/span>value属性中Q另一U是参数值写在标{体内?/span>
<fmt:requestEncoding>标签用于求设|字W编码。它只有一个属?/span>valueQ在该属性中可以定义字符~码?/span>
q两l标{N用于讑֮一个时区。唯一不同的是<fmt:timeZone>标签得在其标{体内的工作可以使用该时|,<fmt:setBundle>标签则允许将时区讄保存Z个变量,在之后的工作可以Ҏ(gu)该变量来q行。它们的属性和描述如表9.20所C:(x)
?/span>9.20 <fmt:timeZone>?/span><fmt:setTimeZone>标签属性和说明
属?/span> | 描述 |
value | 时区的设|?/span> |
var | <fmt:setTimeZone>独有的属性,用于保存时区Z个变?/span> |
scope | 变量的作用范?/span> |
<fmt:formatNumber>?/span>{于格式化数字。它的属性和描述如表9.21所C:(x)
?/span>9.21 <fmt:formatNumber>标签属性和说明
属?/span> | 描述 |
value | 格式化的数字Q该数值可以是Stringcd?/span>java.lang.Numbercd的实?/span> |
type | 格式化的cd |
pattern | 格式化模?/span> |
var | l果保存变量 |
scope | 变量的作用范?/span> |
maxIntegerDigits | 指定格式化结果的最大?/span> |
minIntegerDigits | 指定格式化结果的最?/span> |
maxFractionDigits | 指定格式化结果的最大|带小?/span> |
minFractionDigits | 指定格式化结果的最|带小?/span> |
<fmt:formatNumber>标签实际是对?/span>java.util.NumberFormatc,type属性的可能值包?/span>currencyQ货币)?/span>numberQ数字)?/span>percentQ百分比Q?/span>
下面看一个示例?/span>
<fmt:formatNumber value="1000.888" type="currency" var="money"/>
<fmt:parseNumber>标签用于解析一个数字,q将l果作ؓ(f)java.lang.Numbercȝ实例q回?/span><fmt:parseNumber>标签看v来和<fmt:formatNumber>标签的作用正好相反。它的属性和描述如表9.22所C:(x)
?/span>9.22 <fmt:parseNumber>标签属性和说明
属?/span> | 描述 |
value | 被解析的字W串 |
type | 解析格式化的cd |
pattern | 解析格式化模?/span> |
var | l果保存变量Q类型ؓ(f)java.lang.Number |
scope | 变量的作用范?/span> |
parseLocale | 以本地化的Ş式来解析字符Ԍ该属性的内容应ؓ(f)String?/span>java.util.Localecd的实?/span> |
下面看一个示例?/span>
<fmt:parseNumber value="15%" type="percent" var="num"/>
解析之后的结果ؓ(f)?/span>0.15”?/span>
<fmt:formatDate>标签用于格式化日期。它的属性和描述如表9.23所C:(x)
?/span>9.23 <fmt:formatDate>标签属性和说明
属?/span> | 描述 |
value | 格式化的日期Q该属性的内容应该?/span>java.util.Datecd的实?/span> |
type | 格式化的cd |
pattern | 格式化模?/span> |
var | l果保存变量 |
scope | 变量的作用范?/span> |
timeZone | 指定格式化日期的时区 |
<fmt:formatDate>标签?/span><fmt:timeZone>?/span><fmt:setTimeZone>两组标签的关pd切。若没有指定timeZone属性,也可以通过<fmt:timeZone>?/span><fmt:setTimeZone>两组标签讑֮的时区来格式化最后的l果?/span>
<fmt:parseDate>标签用于解析一个日期,q将l果作ؓ(f)java.lang.Datecd的实例返回?/span><fmt:parseDate>标签看v来和<fmt:formatDate>标签的作用正好相反。它的属性和描述如表9.24所C:(x)
?/span>9.24 <fmt:parseDate>标签属性和说明
属?/span> | 描述 |
value | 被解析的字W串 |
type | 解析格式化的cd |
pattern | 解析格式化模?/span> |
var | l果保存变量Q类型ؓ(f)java.lang.Date |
scope | 变量的作用范?/span> |
parseLocale | 以本地化的Ş式来解析字符Ԍ该属性的内容?/span>String?/span>java.util.Localecd的实?/span> |
timeZone | 指定解析格式化日期的时区 |
<fmt:parseNumber>?/span><fmt:parseDate>两组标签都实现解析字W串Z个具体对象实例的工作Q因此,q两l解析标{֯var属性的字符串参数要求非怸根{就JSP面的表C层前段来说Q处理这U解析本不属于䆾内之事,因此<fmt:parseNumber>?/span><fmt:parseDate>两组标签应该量用Q替代工作的地方应该在服务器端表C层的后D,比如?/span>Servlet中?/span>