`

JSP国际化配置(二)

阅读更多

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国际化_demo”提供了中文和英文两种语言的支持,旨在帮助开发者理解如何在JSP中实现国际化功能。** 在JSP中实现国际化,主要依靠以下三个关键组件: 1. **资源文件(Resource Bundle)**:资源文件通常...

    spring 国际化 spring mvc

    第二种解决方案是基于动态加载的国际化配置。这可以实现基于请求的国际化配置或基于 Session 的国际化配置。我们可以使用 Spring 的 LocaleChangeInterceptor 来实现国际化配置。首先,我们需要配置拦截器,然后将...

    springboot国际化配置

    SpringBoot 国际化配置是实现应用程序支持多语言的功能,这对于全球化的网站和应用来说至关重要。SpringBoot 提供了简洁的机制来实现这一目标,它依赖于 Spring 的 MessageSource 和 LocaleChangeInterceptor。以下...

    jsp国际化 i18n列子

    在这个特定的例子中,我们关注的是`JSP`的`国际化(i18n)`应用。`i18n`是`internationalization`的缩写,意指软件或网站的设计和开发考虑到全球不同地区的用户需求,支持多种语言和文化环境。 `JSP`的`国际化`主要...

    Spring2.5的国际化配置

    Spring 2.5 的国际化配置是一项关键功能,它允许应用程序根据用户浏览器的语言设置显示相应的文本。国际化使得软件能够适应全球范围内的用户,提供多语言支持。以下是对标题和描述中涉及知识点的详细解释: 1. **...

    spring mvc配置国际化

    总结,Spring MVC的国际化配置涉及到资源文件的创建、`MessageSource`的配置、locale解析器的选择以及在Controller和视图中正确地使用这些资源。通过这个实例,您可以快速地为您的应用程序提供多语言支持,提升用户...

    struts2配置和Java国际化和JS国际化

    JavaScript(JS)的国际化处理则相对复杂一些,因为JavaScript本身并不支持多语言。一种常见做法是通过后端服务动态加载不同语言的JSON文件,或者在HTML中嵌入多语言数据。例如,我们可以创建两个JSON文件: - `...

    struts2国际化配置.pdf

    Struts2的国际化配置是构建多语言支持的Web应用...总的来说,Struts2的国际化配置涉及多个层面,包括配置文件、资源文件、JSP页面和Action类,通过合理地组织和使用这些元素,可以构建出适应全球用户的多语言Web应用。

    java 实现国际化 中英文语言切换

    3. **JSP 国际化** 在JSP中,我们可以通过 `&lt;fmt:setLocale&gt;` 标签来设置当前请求的 Locale。然后,使用 `&lt;fmt:message&gt;` 标签来获取与当前 Locale 对应的资源包中的字符串。 4. **语言切换实现** - 用户界面:...

    Spring Boot 国际化(i18n)配置demo.zip

    通过这个Spring Boot国际化配置的示例,你可以了解并实践如何为你的应用添加多语言支持,从而为全球用户提供更好的体验。记得根据你的实际需求调整配置,并确保资源文件的键值对与代码中的引用相匹配。此外,还可以...

    SpringMVC国际化配置.docx

    ### SpringMVC国际化配置详解 #### 一、国际化概念及意义 **国际化(Internationalization)**,简称i18n,是指设计软件时使产品能够适应不同国家或地区的语言文化需求,而无需进行代码级别的修改。这对于全球化的...

    struts2国际化配置文档

    二、Struts2国际化配置 1. **创建资源文件** 在Struts2中,资源文件通常是`.properties`格式,例如`message_en.properties`(英语)和`message_zh_CN.properties`(简体中文)。这些文件应存储在`src/main/...

    struts2官方例子8-资源配置文件的使用(包括国际化)

    在Struts2中,资源配置文件和国际化(i18n)是两个非常重要的概念,它们对于创建多语言支持和提供用户友好的界面至关重要。 资源配置文件通常以.properties为扩展名,它们存储了应用中的静态文本,如错误消息、提示...

    JSP信息化系统建设案例源码

    9. **国际化与本地化**:如果案例中涉及,可以学习如何实现多语言支持,使用资源包处理不同地区的语言需求。 10. **性能优化**:分析源码时,还可以关注缓存策略、减少数据库查询、页面静态化等优化手段,提升系统...

    基于SpringMVC国际化资源配置方式Demo

    综上所述,通过SpringMVC的国际化配置,我们可以轻松地在应用程序中提供多语言支持。这不仅增强了用户体验,也使得项目更具扩展性和可维护性。在实际开发中,还需要注意资源文件的管理和更新,确保不同语言版本的...

    spring国际化jsp

    标题 "spring国际化jsp" 暗示我们讨论的是在Spring框架中实现Web应用程序的国际化(i18n)过程,特别是在使用JSP(JavaServer Pages)时。这通常涉及到资源包(properties文件)的使用,以存储不同语言的文本字符串...

    JavaWeb国际化实例

    在SpringMVC中实现国际化,可以通过配置`HandlerInterceptor`拦截器或者在控制器中设置`LocaleResolver`来实现,允许用户在请求中切换语言。 5. **SpringMVC的国际化实现**: 在SpringMVC中,我们可以在`web.xml`中...

    自定义JSP标签实现语言国际化(类似struts text标签),并同时支持图片、JS文件国际化

    通过这种方式,我们可以实现一个功能强大的自定义JSP标签库,它不仅支持文本国际化,还能处理图片和JavaScript文件的国际化,使得Web应用更加灵活且易于维护。在实际项目中,可以根据具体需求调整标签库的功能和结构...

    Struct国际化实现用户登录

    2. **配置Struts.xml**:在Struts配置文件中,添加拦截器栈,启用国际化支持。例如: ```xml &lt;!-- ... --&gt; &lt;!-- ... --&gt; ``` 3. **Action类的配置**:在Action类中,设置默认的语言环境,通常在...

Global site tag (gtag.js) - Google Analytics