国际化核心标签:<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>标签:用于设置本地化环境
属性描述
value:Locale 环境的指定,可以是 java.util.Locale 或 String 类型的实例
scope:Locale 环境变量的作用范围(可选)
如:
设置本地环境为繁体中文
<fmt:setLocale value="zh_TW"/>
设置本地环境为简体中文
<fmt:setLocale value="zh_CN"/>
2.<fmt:requestEncoding>标签:用于为请求设置字符编码
它只有一个属性 value ,在该属性中可以定义字符编码。
如:
<fmt:requestEncoding value="GB2312"/>
3.<fmt:bundle> 、 <fmt:setBundle> 标签:用于资源配置文件的数据来源
3.1<fmt:bundle> 标签将资源配置文件绑定于它标签体中的显示
属性描述
basename:资源配置文件的指定,只需要指定文件名而无须扩展名
prefix:前置关键字
如:
资源文件中配置的数据为:
label.backcolor=#FFF
label.fontcolor=#000
则,可以用如下方法取得label的backcolor和fontcolor值:
<fmt:bundle basename="MyResourse" prefix="label.">
<fmt:message key="backcolor" />
<fmt:message key="fontcolor" />
</fmt:bundle>
3.2<fmt:setBundle> 标签则允许将资源配置文件保存为一个变量,在之后的工作可以根据该变量来进行
属性描述 ,二组标签共有的属性
var:<fmt:setBundle> 独有的属性,用于保存资源配置文件为一个变量
scope:变量的作用范围
如:
查找一个名为 applicationMessage_zh_CN.properties 的资源配置文件,来作为显示的 Resource 绑定
<fmt:setBundle basename="applicationMessage" var="applicationBundle"/>
4.<fmt:message> 标签:用于显示资源配置文件信息(该资源文件必须遵循如下格式:1.扩展名必须为properties,2.文件的内容必须依照key = value的格式;3.文件要放到WEB-INF/classes目录下)
属性描述
key:资源配置文件的“键”指定
bundle:若使用 <fmt:setBundle> 保存了资源配置文件,该属性就可以从保存的资源配置文件中进行查找
var:将显示信息保存为一个变量
scope:变量的作用范围
如:
1)用<fmt:setBundle>标签将"applicationMessage"资源配置文件被赋于了变量"applicationBundle"
用<fmt:message>标签显示由<fmt:setBundle>标签保存的资源配置文件中"键"为"passWord"的信息
<fmt:setBundle basename="applicationMessage" var="applicationBundle"/>
<fmt:message key="passWord" bundle="${applicationBundle}" />
2)用<fmt:bundle>标签定义的"applicationAllMessage"资源配置文件作用于其标签体内的显示
用<fmt:message>标签显示"applicationAllMessage"资源配置文件中"键"为"userName"的信息
<fmt:bundle basename="applicationAllMessage">
<fmt:message key="userName" />
</fmt:bundle>
5.<fmt:param 标签:用于参数传递
<fmt:param>标签应该位于 <fmt:message> 标签内,将为该消息标签提供参数值。它只有一个属性value
如:在MyResourse.properties文件中,有一个索引值如下(其中,{0}代表占位符):
Str2=Hi,{0}
则,使用<fmt:param>标签传入值如下:
<fmt:bundle basename="MyResourse">
<fmt:message key="Str2">
<fmt:param value="张三" />
</fmt:message>
</fmt:bundle>
也可以在资源文件中指定参数的类型:
如:在MyResourse.properties文件中,有一个索引值如下:
Str3={0,date}
则,使用<fmt:param>标签传入值如下:
<% request.setAttribute("now",new Date()); %>
<fmt:bundle basename="MyResourse">
<fmt:message key="Str3">
<fmt:param value="${now}" />
</fmt:message>
</fmt:bundle>
6.<fmt:timeZone>、<fmt:setTimeZone>标签:用于设定时区
<fmt:timeZone> 标签将使得在其标签体内的工作可以使用该时区设置
<fmt:setTimeZone> 标签则允许将时区设置保存为一个变量,在之后的工作可以根据该变量来进行
属性描述
value:时区的设置
var:<fmt:setTimeZone> 独有的属性,用于保存时区为一个变量
scope:变量的作用范围
7.<fmt:formatNumber>标签:用于格式化数字
属性描述
value:格式化的数字,该数值可以是 String 类型或 java.lang.Number 类型的实例
type:格式化的类型,可能值包括:currency(货币)、number(数字)和percent(百分比)
pattern:格式化模式
var:结果保存变量
scope:变量的作用范围
maxIntegerDigits:指定格式化结果的最大值
minIntegerDigits:指定格式化结果的最小值
maxFractionDigits:指定格式化结果的最大值,带小数
minFractionDigits:指定格式化结果的最小值,带小数
如:
结果将被保存在“ money ”变量中,将根据 Locale 环境显示当地的货币格式
<fmt:formatNumber value="1000.888" type="currency" var="money"/>
8.<fmt:parseNumber> 标签:用于解析数字
属性描述
value:将被解析的字符串
type:解析格式化的类型
pattern:解析格式化模式
var:结果保存变量,类型为 java.lang.Number
scope:变量的作用范围
parseLocale:以本地化的形式来解析字符串,该属性的内容应为 String 或 java.util.Locale 类型的实例
如:
将"15%"转换为数字
<fmt:parseNumber value="15%" type="percent" var="num"/>
9.<fmt:formatDate>标签:用于格式化日期
属性描述
value:格式化的日期,该属性的内容应该是 java.util.Date 类型的实例
type:格式化的类型
pattern:格式化模式
var:结果保存变量
scope:变量的作用范围
timeZone:指定格式化日期的时区
10.<fmt:parseDate>标签:用于解析日期
属性描述
value:将被解析的字符串
type:解析格式化的类型
pattern:解析格式化模式
var:结果保存变量,类型为 java.lang.Date
scope:变量的作用范围
parseLocale:以本地化的形式来解析字符串,该属性的内容为 String 或 java.util.Locale 类型的实例
timeZone:指定解析格式化日期的时区
分享到:
相关推荐
本示例“JSP国际化_demo”提供了中文和英文两种语言的支持,旨在帮助开发者理解如何在JSP中实现国际化功能。** 在JSP中实现国际化,主要依靠以下三个关键组件: 1. **资源文件(Resource Bundle)**:资源文件通常...
"jsp实现国际化dwi18n"是一个示例项目,旨在演示如何在JSP应用中实现多语言支持,即“国际化”功能。国际化是一个重要的设计原则,它允许软件产品适应不同地区的语言和文化习惯。 1. **什么是国际化(i18n)?** ...
Struts2 标签库及国际化的使用案例 Struts2 框架提供了强大的标签库和国际化功能,本实验旨在掌握 Struts 2 标签库和国际化...Struts2 框架提供了强大的标签库和国际化功能,用于简化 JSP 页面的开发和多语言支持。
这些标签支持国际化,允许开发者根据不同的地区和文化背景格式化输出内容。这些标签都属于fmt库,使用时需要在JSP页面顶部导入相应的标签库,例如:***" prefix="fmt" %>。 流程控制标签如、、和,使得开发者可以...
本文将探讨如何自定义JSP标签来实现类似于Struts Text标签的功能,并扩展到支持图片和JS文件的国际化。 首先,我们需要创建一个自定义的JSP标签库。这通常涉及到两个主要部分:标签处理类(Tag Handler Class)和...
使用JSTL标签库能够提高JSP页面的可读性和维护性,避免在JSP页面中嵌入大量的Java代码,同时也可以利用JSTL提供的国际化标签库(i18n)进行本地化开发。 在JSTL的早期版本中,由于标签库的资源定位是通过硬编码的...
3. **`i18nLib.jsp`**:这个文件可能是包含国际化功能的公共库,提供了`JSP`标签或函数,用于从`Resource Bundle`中获取并显示多语言文本。例如,可以定义一个自定义标签库(`Tag Library`),其中包含一个`<msg>`...
3. 国际化标签: - Struts2还提供了`s:i18n`标签,可以指定basename来查找特定的资源文件,如 `<s:i18n name="messagefile">...</s:i18n>`。这将从`messagefile_XX_XX.properties`文件中查找键。 在Action类中处理...
5. **代码助手**:插件会自动生成JSP页面所需的国际化标签代码,减少手动编写的工作量。 6. **资源管理**:通过项目属性设置,可以方便地管理和组织各种语言版本的资源文件,保持项目的整洁。 ### 实例演示 1. ...
这些库提供了处理循环、条件判断、国际化、数据库操作等多种功能,旨在减少Java代码在JSP页面中的使用,提升代码的可读性和可维护性。 **二、JSTL核心库(Core)** Core库是JSTL的基础,它包含了处理控制流程、URL...
它提供了用于处理常见任务的标签,如迭代、条件判断、XML处理、国际化以及数据库操作等。JSTL的核心库主要包含了用于执行控制流(如if、forEach)和函数调用的标签。 在给定的压缩包中,有两个重要的文件: 1. **...
4. **国际化与本地化**:如果标签需要显示文本,可以考虑如何支持多语言环境。 5. **标签的嵌套**:理解如何设计允许标签嵌套的逻辑,以便提高组件的复用性。 通过这个示例源码,初学者不仅可以学习到自定义标签的...
这篇博客将深入探讨如何通过自定义标签来实现国际化功能。 首先,我们需要理解自定义标签的工作原理。在Java Servlet规范中,自定义标签是JSP标准标签库(JSTL)的一部分,它们提供了扩展JSP页面能力的方法。自定义...
- **功能描述**:用于国际化和本地化。 - **示例代码**: ```jsp ``` ##### 24. **if 标签** - **功能描述**:根据条件执行代码块。 - **示例代码**: ```jsp != null}"> 欢迎, ``` ##### 25. **...
3. **国际化(I18N)标签库**:支持多语言环境,如资源包(Resource Bundle)的管理和日期/时间格式化。 4. **SQL标签库**:用于与关系型数据库交互,如执行SQL查询、事务管理等。 在上述示例中,`Hello.jsp`是一...
2. **Format/International化库**:支持国际化和格式化。 3. **XML库**:处理XML文档。 4. **SQL库**:执行数据库操作。 5. **Function库**:提供额外的函数。 ### 引用JSTL的必备jar包 在使用JSP C标签之前,需要...
- **I18N(Internationalization,国际化)库**:用于处理国际化和本地化,如`<fmt:formatNumber>`、`<fmt:message>`等。 - **Function库**:提供了许多实用的函数,可以与JSP表达式语言(EL)一起使用。 - **XML库*...
JSTL是Java社区的一个标准,它提供了一组用于处理常见任务的标签,如迭代、条件判断、XML处理、国际化、SQL操作等。JSTL的出现旨在减少在JSP页面中的脚本元素,使得页面更加整洁,更易于理解和维护。 **JSTL的核心...
在IT领域,国际化(i18n)是一种重要的技术实践,特别是在构建可扩展的Web应用程序时。Struts2作为一款流行的MVC(Model-View-Controller)框架,为开发者提供了便捷的方式来实现国际化。本文将深入探讨如何在Struts2...
- **fmt**: 处理国际化和格式化。 - `<fmt:message>`:显示资源束中的消息。 - `<fmt:formatDate>`:日期格式化。 - `<fmt:formatNumber>`:数字格式化。 - **sql**: 执行SQL操作。 - `<sql:query>`:执行查询...