- 1、本文档共29页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
PAGE26/NUMPAGES29
JSTL标签的国际化与本地化
TOC\o1-3\h\z\u
第一部分JSTLi18n基础概念 2
第二部分ResourceBundle的使用 4
第三部分标签库中的international标签 7
第四部分message标签的用法 11
第五部分bundle标签的配置 13
第六部分国际化与本地化实践 15
第七部分JSTLi18n的优势 18
第八部分中文化支持 21
第一部分JSTLi18n基础概念
JSTLi18n基础概念
国际化和本地化
*国际化(i18n):设计和开发软件时消除语言和文化特性的过程,使其能够适应不同的语言和文化。
*本地化(l10n):为特定语言或文化定制软件的过程,包括翻译、文化适应和功能测试。
JSTLi18n库
JSTL(JavaServerPagesStandardTagLibrary)i18n库提供了一组标签,用于支持国际化和本地化。这些标签基于Java国际化API(java.util.Locale、java.util.ResourceBundle),允许开发者以声明性方式处理本地化内容。
i18n标签
1.MessageFormat
*用来格式化消息,并根据提供的Locale对象将消息翻译成适当的语言。
*语法:`fmt:messagekey=key[bundle=bundle]/`
2.Locale
*获取当前应用的Locale对象。
*语法:`fmt:localescope=request|session|page|application/`
3.SetLocale
*为请求、会话、页面或应用程序设置Locale对象。
*语法:`fmt:setLocalevalue=locale/`
4.Bundle
*加载一个资源包,其中包含本地化特定语言或文化的键值对。
*语法:`fmt:bundlebasename=bundle/`
5.Message
*从资源包中检索一个本地化键值对,并根据当前Locale对象进行格式化。
*语法:`fmt:messagekey=key[bundle=bundle]/`
6.Param
*向MessageFormat传递一个参数。
*语法:`fmt:paramvalue=value/`
7.TimeZone
*获取或设置当前应用的时区。
*语法:`fmt:timeZonevalue=timeZone/`
8.DateFormat
*根据提供的模式和Locale对象格式化日期和时间。
*语法:`fmt:formatDatevalue=date[pattern=pattern]/`
9.NumberFormat
*根据提供的模式和Locale对象格式化数字。
*语法:`fmt:numbervalue=number[pattern=pattern]/`
使用方法
为了使用JSTLi18n标签,需要在JSP页面中引入以下标记库:
```xml
%@taglibprefix=fmturi=/jsp/jstl/fmt%
```
示例
以下是一个简单的示例,展示了如何使用JSTLi18n标签将消息翻译成不同的语言:
```jsp
fmt:bundlebasename=messages
fmt:messagekey=welcome/
/fmt:bundle
```
此示例将从名为messages的资源包中检索welcome键值对,并根据当前Locale对象对其进行格式化。
第二部分ResourceBundle的使用
ResourceBundle的使用
ResourceBundle是Java中一种用于管理国际化资源(如消息、字符串和文本)的机制。在JSTL中,可以通过fmt:setBundle标签来指定要使用的ResourceBundle。
```java
fmt:setBundlebasename=messages/
```
其中,messages是ResourceBundle的基本名称。基本名称用于查找包含资源的属性文件。
ResourceBundle必须在CLASSPATH中,并且必须遵循以下命名约定:
*基本名称+_+语言代码+_+国家/地区代码
*基本名称+_+语言代码
例如,对于英语(美国)的ResourceBundl
文档评论(0)