快捷搜索:  as  2018  FtCWSyGV  С˵  test  xxx  Ψһ  w3viyKQx

澳门新葡亰官网7598522_龟发之家论坛



内容:

综述

对光阴,日期,泉币,数字国际化

I18N标记库的一些高档用法

一个简单的例子

关于作者

翟斌(David Zhai) (zhaibin@yahoo.com)

2002 年 8 月

本文对JSP国际化的简要先容,着重探究了应用标记库对JSP进行国际化的历程,并经由过程具体的示例演示了若何应用jakarta的i18n标记库。

综述

当我们在用JSP设计面对不合国家的站点时,分外是那些在界面之间没有分外大年夜差其余商业站点,我们可以使用澳门新葡亰官网7598522JSP的一些机制来支持国际化.

平日有三种要领可以实现国际化.

为每个国家编写一套JSP代码, 可以经由过程嵌入BEAN和标记处置惩罚器的要领重用一些逻辑代码.

掩护统一的JSP代码,直接使用JAVA的资本绑缚机制实现国际化.

掩护统一的JSP代码,使用通用的或自定义标记库实现国际化.

我们重点评论争论第三种措施,由于它有很好的机动性,可掩护性和可扩展性.

着实标记库也是使用JAVA的资本绑缚机制, 只是把国际化常用的措施封装的更轻易应用,而且更相符JSP的编程思惟, 把表述层和逻辑层分开.通用的标记库对照闻名的有JAKARTA的I18N标记库。本文接着上一篇继承评论争论i18n标记库的各类标记和应用措施,包括以下内容:

对光阴,日期,泉币,数字国际化

I18N标记库的一些高档用法

一个简单的例子

对光阴,日期,泉币,数字国际化

formatString

输出一个字符串,假如value为空则显示defaultText

" defaultText="the String was null"/>

表1:formatString的属性描述

属性名称 描述

id 该formatString的标识变量, 经由过程它,其他标记和代码可以造访该formatSt澳门新葡亰官网7598522ring,

value 输出的字符串

defaultText 默认的输出字符串

formatNumber

根据locale信息国际化数字,它的pattern可以定义为‘##,###澳门新葡亰官网7598522.##’。假如value为空则显示defaultText,假如不设locale,则取上一级的的设定,假如没有,则根据客户端哀求的locale,假如照样没有发明,则取本地JVM的locale。

" pattern="##,###,###.##"/>

表2:formatNumber的属性描述

属性名称 描述

id 该formatNumber的标识变量, 经由过程它,其他标记和代码可以造访该formatNumber

value 输出的数字

pattern 输出的模式(##,###.##)

locale locale信息

defaultText 默认的输出数字

formatCurrency

根据locale信息国际化泉币。假如value为空则显示defaultText,假如不设locale,则取上一级的的设定,假如没有,则根据客户端哀求的locale,假如照样没有发明,则取本地JVM的locale。

"/>

表3:formatCurrency的属性描述

属性名称 描述

id 该formatCurrency的标识变量, 经由过程它,其他标记和代码可以造访该formatCurrency

value 输出的泉币值

locale locale信息

defaultText 默认的输出泉币值

formatPercent

根据locale信息国际化百分数。假如value为空则显示defaultText,假如不设locale,则取上一级的的设定,假如没有,则根据客户端哀求的locale,假如照样没有发明,则取本地JVM的locale。

"/>

表4:formatPercent的属性描述

属性名称 描述

id 该formatPercent的标识变量, 经由过程它,其他标记和代码可以造访该formatPercent

value 输出的百分数

locale locale信息

defaultText 默认的输出百分数

formatDateTime

根据locale信息国际化日期光阴。它的dateStyle和timeStyle可以定义为´short/medium/long/full´假如value为空则显示defaultText,假如不设locale,则取上一级的的设定,假如没有,则根据客户端哀求的locale,假如照样没有发明,则取本地JVM的locale。

表5:formatDateTime的属性描述

属性名称 描述

id 该formatDateTime的标识变量, 经由过程它,其他标记和代码可以造访该formatDateTime

value 输出的日期光阴

locale 指定的locale信息

dateStyle 输出的日期款式

timeStyle 输出的光阴款式

defaultText 默认的输出日期和光阴

formatDate

根据locale信息国际化日期。它的style可以定义为(short/medium/long/full),pattern可定义为´YYYY MMM ddd´.假如value为空则显示defaultText,假如不设locale,则取上一级的的设定,假如没有,则根据客户端哀求的locale,假如照样没有发明,则取本地JVM的locale。

表6:formatDate的属性描述

属性名称 描述

id 该formatDate的标识变量, 经由过程它,其他标记和代码可以造访该formatDate

value 输出的日期

locale 指定的locale信息

pattern 日期的模式(YYYY MMM ddd)

Style 日期的款式(short/medium/澳门新葡亰官网7598522long/full)

defaultText 默认的输出日期

formatTime

根据locale信息国际化日期。它的style可以定义为(short/medium/long/full).假如value为空则显示defaultText,假如不设locale,则取上一级的的设定,假如没有,则根据客户端哀求的locale,假如照样没有发明,则取本地JVM的locale。

表7:formatTime的属性描述

属性名称 描述

id 该formatTime的标识变量, 经由过程它,其他标记和代码可以造访该formatTime

value 输出的光阴

locale 指定的locale信息

Style 日期的款式(short/medium/long/full)

defaultText 默认的输出日期

I18N标记库的一些高档用法

ifdef

判断一个key是否存在于指定(或默认)的资本文件中,假如存在则进行该标记中的语句.

Only users specifying zh_CN as their locale will see this!

表8:ifdef的属性描述

属性名称 描述

key 欲判断是否在资本文件中的key的名字

bundleResourceBundle的基础名,可以连同locale信息定位所需的ResourceBundle.

bundleRef 一个包孕ResourceBundle的属性名,平日为bundle的id

ifndef

判断一个key是否存在于指定(或默认)的资本文件中,假如不存在则进行该标记中的语句.

Only users specifying something OTHER than zh_CN

as their locale will see this!

表9:ifndef的属性描述

属性名称 描述

key 欲判断是否在资本文件中的key的名字

bundleResourceBundle的基础名,可以连同locale信息定位所需的ResourceBundle.

bundleRef 一个包孕ResourceB澳门新葡亰官网7598522undle的属性名,平日为bundle的id

一个简单的例子

tags

--%>

default Locale

The time is now:-

(medium)

The date is now:-

(pattern)

The datetime is now:-

(full, full)

The number is:-

"/> (number)

" pattern="##,###,###.##"/> (number with pattern)

"/> (currency)

"/> (percent)

US Locale

">

The time is now:-

(medium)

The date is now:-

(pattern)

The datetime is now:-

(full, full)

The number is:-

"/> (number)

" pattern="##,###,###.##"/> (number with pattern)

"/> (currency)

"/> (percent)

ifdef

ifndef

Only users specifying something OTHER than zh_CN

as their locale will see this!

i18n-test.properties

OHTER_ONLY = a test

i18n-test_zh_CN.properties

zh_CN_ONLY = 只有locale是zh_CN时才可以看到我!

留意要把资本文件拷贝到/WEB-INF/classes子目录下

标记库和源代码下载

taglibs.zip

关于作者

翟斌(David Zhai)卒业与北京航空航天大年夜学自动节制专业,学士学位。卒业后不停从事软件开拓事情,对收集安然,国际化/本地化有必然的钻研。现任职于北京一家开拓软件国际化对象的专业公司,从事软件国际化对象的研发。联系要领:zhaibin@yahoo.com

您可能还会对下面的文章感兴趣: