JSP的I18N标签

原创 2016年12月10日 22:29:50

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:parseNumber value="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>两组标签应该尽量少用。

0
0
版权声明:本文为博主原创文章,未经博主允许不得转载。

初步实现 I18N 插件

在 JSTL、Struts、Spring 中都提供了 I18N(国际化)支持,也就是说,同一个页面可支持多种语言,这是一个非常有用的特性。当然,底层都是使用的 Java 提供的 ResourceBun...

jsp中jstl标签库 function /i18n

function标签库对el表达式的输出值进行了处理: 使用:在el表达式中使用:${ fn:函数名(参数...)} function标签库函数使用:   1:${fn:contains(nam...
  • jrdgogo
  • jrdgogo
  • 2016年07月31日 23:52
  • 469

SpringMVC 欢迎页 index.jsp 中 i18n国际化失效问题解决

文件结构 效果 结局办法 复制index.jsp 到views目录下,如图 在中 增加如下配置 以及 在web.xml进行如下配置 ...

JSTL I18N格式标签库之----读取消息资源

读取消息资源主要有4个标签,在这里进行一下小总结: 四个标签之间的嵌套关系大概是这个样子: 第1~6...

JSTL I18N 格式标签库 使用之二_____读取消息资源

同样推荐一篇写的很详细的博客  http://blog.sina.com.cn/s/blog_4f925fc30101820u.html 读取消息资源主要有4个标签,在这里进行一下小总结: ...

JSTL标签和I18N

JSTL简介: lJSTL(Java Standard Tag Library) –Java标准标签库。 lSUN公司制定的一套标准标签库的规范。 lJSTL标签库,是由一些Java类组成的。 JST...

JSTL I18N 格式标签库 使用之二_____读取消息资源

读取消息资源主要有4个标签,在这里进行一下小总结: 四个标签之间的嵌套关系大概是这个样子: 1 fmt:buddle basename="name"> 2 fmt:mess...

playframework2.4x i18n标签国际化处理

playframework2.4x i18n标签国际化处理

JSTL I18N 格式标签库 使用之三_____国际化

JSTL I18N 格式标签库 使用之三_____国际化 国际化这个分类中共包含两个标签:用于设定语言地区和用于设定请求的字符编码的标签。 1.标签 标签用来设定...

JSTL I18N格式标签库之----数字日期格式化

I18N格式标签库:I18N-capable formation tags library.它可以根据发出请求的客户端地域的不同来显示不同的语言。同时还提供了格式化数据和日期的方法。引入该标签库的方法...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:JSP的I18N标签
举报原因:
原因补充:

(最多只允许输入30个字)