I18N formatting 标签库就是用于在 JSP 页面中做国际化的动作。在该标签库中的标签一共有 12 个,被分为了两类,分别是:
国际化核心标签: <fmt:setLocale>、<fmt:bundle>、<fmt:setBundle>、<fmt:message>、<fmt:param>、<fmt:requestEncoding>
格式化标签: <fmt:timeZone>、<fmt:setTimeZone> 、<fmt:formatNumber> 、<fmt:parseNumber>、<fmt:formatDate>、<fmt:parseDate>
1、<fmt:setLocale>标签 :
<fmt:setLocale> 标签用于设置 Locale 环境。有两个属性:
属性
|
描述
|
value
|
Locale 环境的指定,可以是 java.util.Locale 或 String 类型的实例
|
scope
|
Locale 环境变量的作用范围(可选)
|
<fmt:setLocale value="zh_CN"/> 表示设置本地环境为简体中文。
2、<fmt:bundle> 、<fmt:setBundle> 标签 :
这两组标签用于资源配置文件的绑定,唯一不同的是 <fmt:bundle> 标签将资源配置文件绑定于它标签体中的显示, <fmt:setBundle> 标签则允许将资源配置文件保存为一个变量,在之后的工作
可以根据该变量来进行。有3个属性:
属性
|
描述
|
basename
|
资源配置文件的指定,只需要指定文件名而无须扩展名,二组标签共有的属性
|
var
|
<fmt:setBundle> 独有的属性,用于保存资源配置文件为一个变量
|
scope
|
变量的作用范围
|
<fmt:setLocale value="zh_CN"/>
<fmt:setBundle basename="applicationMessage" var="applicationBundle"/>
该示例将会查找一个名为 applicationMessage_zh_CN.properties 的资源配置文件,来作为显示的 Resource 绑定。
3、<fmt:message> 标签 :
用于信息显示的标签,将显示资源配置文件中定义的信息。有四个属性:
属性
|
描述
|
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>
该示例使用了两种资源配置文件的绑定的做法,“ applicationMessage ”资源配置文件利用 <fmt:setBundle> 标签被赋于了变量“ applicationBundle ”,而作为 <fmt:bundle> 标签定义的“
applicationAllMessage ”资源配置文件作用于其标签体内的显示。
第一个 <fmt:message> 标签将使用“ applicationAllMessage ”资源配置文件中“键”为“ userName ”的信息显示。
第二个 <fmt:message> 标签虽然被定义在 <fmt:bundle> 标签体内,但是它使用了 bundle 属性,因此将指定之前由 <fmt:setBundle> 标签保存的“ applicationMessage ”资源配置文件,该“键”为“ passWord ”的信息显示。
4、<fmt:param> 标签:
<fmt:param> 标签应该位于 <fmt:message> 标签内,将为该消息标签提供参数值。它只有一个属性 value 。
<fmt:param> 标签有两种使用版本,一种是直接将参数值写在 value 属性中,另一种是将参数值写在标签体内。
5、<fmt:requestEncoding> 标签:
用于为请求设置字符编码。它只有一个属性 value ,在该属性中可以定义字符编码。 <fmt:timeZone>、<fmt:setTimeZone> 标签 :
这两组标签都用于设定一个时区。唯一不同的是 <fmt:timeZone> 标签将使得在其标签体内的工作可以使用该时区设置, <fmt:setBundle> 标签则允许将时区设置保存为一个变量,在之后的工作可以根据该变量来进行。有3个属性:
属性
|
描述
|
value
|
时区的设置
|
var
|
<fmt:setTimeZone> 独有的属性,用于保存时区为一个变量
|
scope
|
变量的作用范围
|
6 、<fmt:formatNumber>标签 :用于格式化数字。
属性
|
描述
|
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 环境显示当地的货币格式。
7、<fmt:parseNumber> 标签 :
用于解析一个数字,并将结果作为 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"/> 解析之后的结果为“ 0.15 ”。
8 、<fmt:formatDate> 标签:用于格式化日期。
属性
|
描述
|
value
|
格式化的日期,该属性的内容应该是 java.util.Date 类型的实例
|
type
|
格式化的类型
|
pattern
|
格式化模式
|
var
|
结果保存变量
|
scope
|
变量的作用范围
|
timeZone
|
指定格式化日期的时区
|
<fmt:formatDate> 标签与 <fmt:timeZone> 、 <fmt:setTimeZone> 两组标签的关系密切。若没有���定 timeZone属性, 也可以通过 <fmt:timeZone> 、 <fmt:setTimeZone> 两组标签设定的时区来格式化最后的结果。
9、 <fmt:parseDate> 标签
<fmt:parseDate> 标签用于解析一个日期,并将结果作为 java.lang.Date 类型的实例返回。 <fmt:parseDate> 标签看起来和<fmt:formatDate> 标签的作用正好相反。
属性
|
描述
|
value
|
将被解析的字符串
|
type
|
解析格式化的类型
|
pattern
|
解析格式化模式
|
var
|
结果保存变量,类型为 java.lang.Date
|
scope
|
变量的作用范围
|
parseLocale
|
以本地化的形式来解析字符串,该属性的内容为 String 或 java.util.Locale 类型的实例
|
timeZone
|
指定解析格式化日期的时区
|
<fmt:parseNumber> 和 <fmt:parseDate> 两组标签都实现解析字符串为一个具体对象实例的工作,因此,这两组解析标签对 var 属性的字符串参数要求非常严格。就 JSP 页面的表示层前段来说,处理这种解析本不属于份内之事,因此 <fmt:parseNumber> 和 <fmt:parseDate> 两组标签应该尽量少用,替代工作的地方应该在服务器端表示层的后段,比如在 Servlet 中。
分享到:
相关推荐
本示例“JSP国际化_demo”提供了中文和英文两种语言的支持,旨在帮助开发者理解如何在JSP中实现国际化功能。** 在JSP中实现国际化,主要依靠以下三个关键组件: 1. **资源文件(Resource Bundle)**:资源文件通常...
第二种解决方案是基于动态加载的国际化配置。这可以实现基于请求的国际化配置或基于 Session 的国际化配置。我们可以使用 Spring 的 LocaleChangeInterceptor 来实现国际化配置。首先,我们需要配置拦截器,然后将...
SpringBoot 国际化配置是实现应用程序支持多语言的功能,这对于全球化的网站和应用来说至关重要。SpringBoot 提供了简洁的机制来实现这一目标,它依赖于 Spring 的 MessageSource 和 LocaleChangeInterceptor。以下...
在这个特定的例子中,我们关注的是`JSP`的`国际化(i18n)`应用。`i18n`是`internationalization`的缩写,意指软件或网站的设计和开发考虑到全球不同地区的用户需求,支持多种语言和文化环境。 `JSP`的`国际化`主要...
Spring 2.5 的国际化配置是一项关键功能,它允许应用程序根据用户浏览器的语言设置显示相应的文本。国际化使得软件能够适应全球范围内的用户,提供多语言支持。以下是对标题和描述中涉及知识点的详细解释: 1. **...
总结,Spring MVC的国际化配置涉及到资源文件的创建、`MessageSource`的配置、locale解析器的选择以及在Controller和视图中正确地使用这些资源。通过这个实例,您可以快速地为您的应用程序提供多语言支持,提升用户...
JavaScript(JS)的国际化处理则相对复杂一些,因为JavaScript本身并不支持多语言。一种常见做法是通过后端服务动态加载不同语言的JSON文件,或者在HTML中嵌入多语言数据。例如,我们可以创建两个JSON文件: - `...
Struts2的国际化配置是构建多语言支持的Web应用...总的来说,Struts2的国际化配置涉及多个层面,包括配置文件、资源文件、JSP页面和Action类,通过合理地组织和使用这些元素,可以构建出适应全球用户的多语言Web应用。
3. **JSP 国际化** 在JSP中,我们可以通过 `<fmt:setLocale>` 标签来设置当前请求的 Locale。然后,使用 `<fmt:message>` 标签来获取与当前 Locale 对应的资源包中的字符串。 4. **语言切换实现** - 用户界面:...
通过这个Spring Boot国际化配置的示例,你可以了解并实践如何为你的应用添加多语言支持,从而为全球用户提供更好的体验。记得根据你的实际需求调整配置,并确保资源文件的键值对与代码中的引用相匹配。此外,还可以...
### SpringMVC国际化配置详解 #### 一、国际化概念及意义 **国际化(Internationalization)**,简称i18n,是指设计软件时使产品能够适应不同国家或地区的语言文化需求,而无需进行代码级别的修改。这对于全球化的...
二、Struts2国际化配置 1. **创建资源文件** 在Struts2中,资源文件通常是`.properties`格式,例如`message_en.properties`(英语)和`message_zh_CN.properties`(简体中文)。这些文件应存储在`src/main/...
在Struts2中,资源配置文件和国际化(i18n)是两个非常重要的概念,它们对于创建多语言支持和提供用户友好的界面至关重要。 资源配置文件通常以.properties为扩展名,它们存储了应用中的静态文本,如错误消息、提示...
9. **国际化与本地化**:如果案例中涉及,可以学习如何实现多语言支持,使用资源包处理不同地区的语言需求。 10. **性能优化**:分析源码时,还可以关注缓存策略、减少数据库查询、页面静态化等优化手段,提升系统...
综上所述,通过SpringMVC的国际化配置,我们可以轻松地在应用程序中提供多语言支持。这不仅增强了用户体验,也使得项目更具扩展性和可维护性。在实际开发中,还需要注意资源文件的管理和更新,确保不同语言版本的...
标题 "spring国际化jsp" 暗示我们讨论的是在Spring框架中实现Web应用程序的国际化(i18n)过程,特别是在使用JSP(JavaServer Pages)时。这通常涉及到资源包(properties文件)的使用,以存储不同语言的文本字符串...
在SpringMVC中实现国际化,可以通过配置`HandlerInterceptor`拦截器或者在控制器中设置`LocaleResolver`来实现,允许用户在请求中切换语言。 5. **SpringMVC的国际化实现**: 在SpringMVC中,我们可以在`web.xml`中...
通过这种方式,我们可以实现一个功能强大的自定义JSP标签库,它不仅支持文本国际化,还能处理图片和JavaScript文件的国际化,使得Web应用更加灵活且易于维护。在实际项目中,可以根据具体需求调整标签库的功能和结构...
2. **配置Struts.xml**:在Struts配置文件中,添加拦截器栈,启用国际化支持。例如: ```xml <!-- ... --> <!-- ... --> ``` 3. **Action类的配置**:在Action类中,设置默认的语言环境,通常在...