JSP的I18N标签

I18N标签

JSP的I18N包括了国际化标签、消息处理标签日期和数字格式化标签,一共有12个。


1. 国际化核心标签
1)<fmt:setLocale value=”” variant=”” scope=””> 这个标签用于设置客户端的区域,并将区域存储在javax.servlet.jsp.jstl.fmt配置的环境变量中。其中value表示设定Locale环境,可以是java.util.Locale或String类型的实例;scope表示Locale环境变量的作用范围;variant指定特定于浏览器的变量,通常省略。例如:<fmt:setLocale value="zh_TW"/>

 

2)<fmt:bundle basename=”” scope=””> 这个标签创建一个I18N的本地化上下文,并将它的资源包加载到其中,将资源配置文件绑定于它标签体中的显示;其中basename 表示资源配置文件,只需要主文件名而无须扩展名; scope表示作用的范围。例如:<fmt:bundle basename=”resource” scope=”application”>body content</fmt:bundle>

 

3)<fmt:setBundle basename=““ var=““ scope=““> 这个标签的作用与<fmt:bundle>标签的作用相似,不同的是<fmt:setBundle>标签允许将资源配置文件保存为一个变量,在之后的工作可以根据该变量来进行;其中var表示用于保存资源配置文件为一个变量。例如:<fmt:setBundle basename="applicationMessage" var="applicationBundle"/>,将会查找一个名为applicationMessage_zh_CN.properties的资源配置文件,来作为显示的Resource绑定。

 

4)<fmt:message key=““ bundle=““ var=““ scope=““> 这个标签用于信息显示,将显示资源配置文件中定义的信息。其中key表示资源配置文件的“键”;bundle表示若使用<fmt:setBundle>保存了资源配置文件,该属性就可以从保存的资源配置文件中进行查找;var表示将显示信息保存在这个变量中;scope表示这个变量的作用范围。例如:
<fmt:setBundle basename="applicationMessage" var="applicationBundle"/>
<fmt:bundle basename="applicationAllMessage">
         <fmt:message key="userName" />
          <fmt:message key="passWord" bundle="${applicationBundle}" />
</fmt:bundle>
第一个<fmt:message>标签将使用“applicationAllMessage”资源配置文件中“键”为“userName”的信息显示。第二个<fmt:message>标签虽
然被定义在<fmt:bundle>标签体内,但是它使用了bundle属性,因此将指定之前由<fmt:setBundle>标签保存的“applicationMessage”资源配置文件,该“键”为“passWord”的信息显示。

 

5)<fmt:param value=””> 这个标签应该位于<fmt:message>标签内,将为该消息标签提供参数值。其中value表示参数的值。这个标签有两种用法,一种是直接将参数值写在value属性中,另一种是将参数值写在标签体内。

 

6)<fmt:requestEncoding value=””>标签用于为请求设置字符编码。它只有一个属性value,在该属性中可以定义字符编码。


2. 格式化标签:

1)<fmt:timeZone value=”” scope=””> 这个标签设定一个时区,使得在其标签体内的工作可以使用该时区设置。其中value表示时区的值;scope表示变量的作用范围。

 

2)<fmt:setTimeZone value=”” var=”” scope=””> 这个标签设定一个时区,允许将时区设置保存为一个变量,在之后的工作可以根据该变量来进行。其中value表示时区的值;var表示变量的名称;scope表示变量的作用范围。

 

3)<fmt:formatNumber value=”” type=”” pattern=”” var=”” scope=”” maxIntegerDigits=”” minIntegerDigits=””maxFractionDigits=”” minFractionDigits=””> 这个标签用于格式化数字。其中value表示格式化的数字,该数值可以是String类型或java.lang.Number类型的实例;type表示格式化的类型;pattern表示格式化模式;var表示保存结果的变量;scope表示变量的作用范围;maxIntegerDigits表示指定格式化结果的最大值;minIntegerDigits表示指定格式化结果的最小值;maxFractionDigits表示指定格式化结果的最大值,带小数;minFractionDigits表示指定格式化结果的最小值,带小数。<fmt:formatNumber>标签实际是对应java.util.NumberFormat类,type属性的可能值包括currency(货币)、number(数字)和percent(百分比)。例如:<fmt:formatNumber value="1000.888" type="currency" var="money"/> 该结果将被保存在“money”变量中,将根据Locale环境显示当地的货币格式。

 

4)<fmt:parseNumber value=”” type=”” pattern=”” var=”” scope=”” parseLocale=”” > 这个标签用于解析一个数字,并将结果作为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"/>。

 

5)<fmt:formatDate value=”” type=”” pattern=”” var=”” scope =”” timeZone=””> 这个标签用于格式化日期。value表示格式化的日期,该属性的内容应该是java.util.Date类型的实例;type表示格式化的类型;pattern表示格式化模式;var表示结果保存变量;scope表示变量的作用范围;timeZone指定格式化日期的时区。注意<fmt:formatDate>标签与<fmt:timeZone>、<fmt:setTimeZone>两组标签的关系密切。若没有指定timeZone属性,也可以通过<fmt:timeZone>、<fmt:setTimeZone>两组标签设定的时区来格式化最后的结果。

 

6)<fmt:parseDate value=”” type=”” pattern=”” var=”” scope =”” timeZone=””parseLocale=”” > 这个标签用于解析一个日期,并将结果作为java.lang.Date类型的实例返回。<fmt:parseDate>标签看起来和<fmt:formatDate>标签的作用正好相反。其中value表示将被解析的字符串;type表示解析格式化的类型;pattern表示解析格式化模式;var表示结果保存变量,类型为java.lang.Number;scope表示变量的作用范围;timeZone表示指定解析格式化日期的时区;parseLocale表示以本地化的形式来解析字符串,该属性的内容应为String或java.util.Locale类型的实例。注意<fmt:parseNumber>和<fmt:parseDate>两组标签都实现解析字符串为一个具体对象实例的工作,因此,这两组解析标签对var属性的字符串参数要求非常严格。就JSP页面的表示层前段来说,处理这种解析本不属于份内之事,因此<fmt:parseNumber>和<fmt:parseDate>两组标签应该尽量少用。

 

原文地址:http://blog.csdn.net/csuliky/article/details/2474726

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值