jstl 中 fmt的用法.docVIP

  • 0
  • 0
  • 约5.4千字
  • 约 6页
  • 2017-07-09 发布于河南
  • 举报
jstl 中 fmt的用法

看到?I18N?就应该想到知识“国际化”,?I18N formatting?标签库就是用于在?JSP?页面中做国际化的动作。在该标签库中的标签一共有?12?个,被分为了两类,分别是: q??国际化核心标签:?fmt:setLocale?、?fmt:bundle?、?fmt:setBundle?、?fmt:message?、?fmt:param?、?fmt:requestEncoding?。 q?格式化标签:?fmt:timeZone?、?fmt:setTimeZone?、?fmt:formatNumber?、?fmt:parseNumber?、?fmt:formatDate?、?fmt:parseDate?。 下面只选择其中常见的一些标签和属性进行介绍。 ? 9.5.1?用于设置本地化环境的?fmt:setLocale?标签 fmt:setLocale?标签用于设置?Locale?环境。它的属性和描述如表?9.17?所示: 表?9.17? ?fmt:setLocale?标签属性和说明 属性 描述 value Locale?环境的指定,可以是?java.util.Locale?或?String?类型的实例 scope Locale?环境变量的作用范围(可选) 下面看一个示例: fmt:setLocale value=zh_TW/ 表示设置本地环境为繁体中文。 ? 9.5.2?用于资源文件绑定的?fmt:bundle?、?fmt:setBundle?标签 这两组标签用于资源配置文件的绑定,唯一不同的是?fmt:bundle?标签将资源配置文件绑定于它标签体中的显示,?fmt:setBundle?标签则允许将资源配置文件保存为一个变量,在之后的工作可以根据该变量来进行。 根据?Locale?环境的不同将查找不同后缀的资源配置文件,这点在国际化的任何技术上都是一致的,通常来说,这两种标签单独使用是没有意义的,它们都会与?I18N formatting?标签库中的其他标签配合使用。它们的属性和描述如表?9.18?所示: 表?9.18? ?fmt:bundle?、?fmt:setBundle?标签属性和说明 属性 描述 basename 资源配置文件的指定,只需要指定文件名而无须扩展名,二组标签共有的属性 var fmt:setBundle?独有的属性,用于保存资源配置文件为一个变量 scope 变量的作用范围 下面看一个示例 fmt:setLocale value=zh_CN/ fmt:setBundle basename=applicationMessage var=applicationBundle/ 该示例将会查找一个名为?applicationMessage_zh_CN.properties?的资源配置文件,来作为显示的?Resource?绑定。 ? 9.5.3?用于显示资源配置文件信息的?fmt:message?标签 用于信息显示的标签,将显示资源配置文件中定义的信息。它的属性和描述如表?9.19?所示: 表?9.19? ?fmt:message?标签属性和说明 属性 描述 key 资源配置文件的“键”指定 bundle 若使用?fmt:setBundle?保存了资源配置文件,该属性就可以从保存的资源配置文件中进行查找 var 将显示信息保存为一个变量 scope 变量的作用范围 下面看一个示例: fmt:setBundle basename=applicationMessage var=applicationBundle/ fmt:bundle basename=applicationAllMessage ?????????fmt:message key=userName / ?????????p ?????????fmt:message key=passWord bundle=${applicationBundle} / /fmt:bundle 该示例使用了两种资源配置文件的绑定的做法,“?applicationMessage?”资源配置文件利用?fmt:setBundle?标签被赋于了变量“?applicationBundle?”,而作为?fmt:bundle?标签定义的“?applicationAllMessage?”资源配置文件作用于其标签体内的显示。 q?????????第一个?fmt:message?标签将使用“?applicationAllMessage?”资源配置文件中“键”为“?userName?”的信息显示。 q?????????第二个?fmt:message?标签虽然被定义在?fmt:bundle?标签体内,但是它使用了?bundle?属性,因此将指定之前由?fmt:setBun

文档评论(0)

1亿VIP精品文档

相关文档