JSTL标签库大全之-------国际化( I18N )标签库,各种标签及其函数的使用。

本文详细介绍了JSTL国际化标签库,包括如何设置本地化环境、获取资源属性、设置资源文件等关键步骤,并展示了如何在实际应用中实现国际化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

JSTL标签库大全 

标准标签库JSTL

国际化( I18N )标签库

国际化标签包括:

         <fmt:setLocale>: 用于设置当前本地化环境,为对应的java类javax.servlet.jsp.jstl.fmt.locale配置参数值,这个指定的参数由jsp运行时维护,用于确定各个jstl标签使用的本地化环境.

         <fmt:bundle>: 指定消息资源使用的文件.

         <fmt:message>: 显示消失资源文件中指定key的消息,支持带参数的消息.

         <fmt:param>: 给带参数的消息设置参数值.

         <fmt:setBundle>: 设置消息资源文件.

 

设置本地化环境标签<fmt:setLocale>

HTML请求到达服务器时,浏览器提供的HTTP首部可以指出用户的首选本地化环境(可能是多个本地化环境的列表).这个列表放在Accept-Language HTTP首部中,jsp容器会访问这个首部信息,如果没有使用标签<fmt:setLocale>明确地指出引用本地化环境,JSTL标签就会使用这个列表中的首选本地化环境.

<fmt:setLocale>标签专门用于设置当前本地化环境,基本使用格式如下:

<fmt:setLocale value=”…locale value…” [variant=”…variant value…”] [scope=”page|request|session|application”] />

<fmt:setLocale>标签的属性描述如下:

value: 这个属性是必须设置的,它用来设置本地环境名,例如en_US 或者zh_HK.

variant: 这个属性是可选的,而且很少使用.

         scope: 指定value设置的本地化环境名的有效范围,默认为page,即本页面,如果把scope设置为session,则表示同一个用户发出的所有请求都具有相同的本地化环境.

         执行信息资源标签<fmt:bundle>

一旦已经设置了web引用的本地化环境后,就可以使用<fmt:bundle>标签了,其体重可以包括一些调用本地化文本的<fmt:message>标签,使用格式如下:

<fmt:bundle basename=”…the bundle’s base name…” [prefix=”…prefix name…”]>

         <fmt:message key=”…key name…”/>

</fmt:bundle>

属性描述如下:

Basename: 资源文件(这里使用文件,而不是类)的基名,例如,某资源文件Res_zh_CN.property,则基名为Res.

prefix: 这个设置是可选的,如果指定这个属性,就会为标签体中嵌套的<fmt:message>标签附加一个前缀.

当<fmt:bundle>标签中嵌套<fmt:message>标签时,这时<fmt:message>标签默认使用<fmt:bundle>标签中的basename所指定的资源文件.

 

获取资源属性值标签<fmt:message>:

         该标签用于显示本地化的文本,它通过key属性来取得资源文件中相应的消息<fmt:message>标签的一般使用格式如下:

<fmt:message key=”…name of property…” [bundle=”…resourceBundle…”][var=”…varible name…”] [scope=”…scope of var…”]/>

         这个标签从资源文件重获取到一个消息,生成相应的一个本地化文本串,该便去重的属性描述如下:

         Key : 用于查找资源文件重相应的关键字名,它对应着一条特定的消息.

         bundle: 如果设置了这个属性,就会使用这个属性指定的资源文件,否则若嵌套在<fmt:bundle>标签重,就会直接使用<fmt:bundle>标签重basename属性指定的资源文件.

         Var : 如果指定这个属性,则把取出的消息字符串存储在这个变量中.

Scope: 这个属性指定了var设置变量的有效范围,默认为page,然而也可以设置为session.

 

设置资源文件标签<fmt:setBundle>

该标签用于设置一个资源文件,并给定一个标记,以便可以通过<fmt:message>标准中指定bundle属性值来取得这个资源文件中的消息,使用格式如下:

<fmt:setBundle basename=”…the bundle’s base name…” var=”…var name…” [scope=”page|request|session|application”]/>

         标签中的属性描述如下:

         basename : 该属性与<fmt:message>标签中的basename属性类似.

Var : 给指定的资源文件取一个变量名,以便<fmt:message>标签可以通过这个变量名来读取资源文件中的消息

Scope: 设置var属性指定的变量的有效范围.

 

         获取参数值标签<fmt:param>:

该标签一般与<fmt:message>标签配套使用,用来在获取的消息中插入一个值.例如:资源文件中的一条消息如下:

                   密码错误=”{0}的密码错误”

         <fmt:message>标签首先使用key=”密码错误”这个关键字找到以上这条消息,然后在<fmt:message>标签中使用<fmt:param>标签赋一个值来替代{0}部分.

         <fmt:param>标签的使用格式如下:

                   <fmt:message ……>

                            <fmt:param value=”value”/>

                   </fmt:message>

         其中value属性的值即为要的替代{0}部分的值.

 

函数(function)标签库:

         函数标签库中的标签基本分成两种:

1.       长度度量函数,例如:fn.length().   [ fn.length(“”) 就为要输出的格式表达式,结果输出0 ]

2.       字符串操作函数.

各类函数标签的功能:

1.       fn:contains(string,substring): 如果参数string中包含substring,则返回true.

2.       fn:containsIgnoreCase(string,substring): 如果参数string中包含substring,则返回true(忽略大小写).

3.       fn:endsWith(string,suffix): 如果参数string以参数suffix结尾,则返回true.

4.       fn:escapeXml(string): 将由特殊意义的xml(和html)转换成对应的XML character entity code并返回.

5.       fn:indexOf(string,substring): 返回参数substring在string中第一次出现的位置.

6.       fn:join(array,separator): 将一个给定的数组array用给定的间隔符separator串在一起,组成一个新的字符串并返回.

7.       fn:length(item): 返回参数item中包含元素的数量,参数item的类型是数组,collection或者string,如果是string则返回string的字符数.

8.       fn:replace(string,before,after): 返回一个String对象,用参数after字符串替换参数string中所有出现before字符串的地方,并返回替换后的结果.

9.       fn:split(string,separator): 返回一个数组,以参数separator为分隔符分隔参数string,分隔后的每一部分就是数组的一个元素.

10.   fn:startsWith(string,prefix): 如果参数string以参数prefix开头,则返回true.

11.   fn:substring(string,begin,end): 返回参数string的部分字符串,从参数begin开始到参数end结束,其中包括end位置的字符.

12.   fn:substringAfter(string,substring): 返回参数substring在参数string中后面的那一部分字符串.

13.   fn:substringBefore(string,substring): 返回参数substring在参数string中前面的那一部分字符串.

14.   fn:toLowerCase(string): 将参数string的所有字符变为小写,并返回.

15.   fn:toUpperCase(string): 将参数string的所有字符变成大写,并返回.

16.   fn:trim(string): 将参数string的头尾空格全部去除,并返回.

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值