Struts中的国际化支持

  

在互联网中,有这么一句话,网络没有国度,这是什么意思,无论你是哪国人,哪个民族,你都能够通过网络来了解本地的信息,了解本国的信息,了解国际上的其它信息。作为我们IT开发人员,需要做的是什么,那就是让你的程序支持国际化,这是让你的产品走向世界的前提。

Struts中,我们实现国际化(i18ninternationalization)支持,就需要在程序中使用编码支持,但是程序中的代码提示都是写死的,怎么让信息随语言改变而改变呢?有一种很简单的方法就是一个功能用不同的语言提示来书写,但无疑这是一种非常愚蠢的做法。最常用的也是比较简单的做法就是使用国际化资源文件来支持。

应该如何配置国际化资源文件来支持呢?

1)在struts-config.xml中加入国际化支持语句:<message-resources parameter="resources.MessageResources" />这里resources/src下的国际化资源文件包,而MessageResourcesBaseName,基本名称。

2)在src目录下面建立resources国际资源文件包,在该资源包下面建立MessageResources.propertiesMessageResource_zh_CN.propertiesMessageResource_en_US.propertieso.properties等国际化资源文件,这些资源文件的作用时,当我们在程序中需要硬编码时,就可以从这些国际化资源文件中读取对应的信息。

如何在JSP页面中输出国际化语言,以避免硬编码?

1)使用<bean:message key=”value”/>

程序可以切换显示网页的语言的原理?

1struts利用在session中存放一个Locale对象来达到设置当前语言的目的。

2struts根据网页向后台提交时所包含的语言编码信息来提供缺省的Locale对象,这就是我们为什么可以通过更改网页显示语言设置,就能显示不同的语言文字的原因。

3strutssession中存放的这个Locale对象,取名为:Globals.LOCALE_KEY 的值,Globalsstruts框架提供的一个对象

如何创建和传递消息对象?

ActionMessages messages=new

//设置国际化文本

ActionMessage message=new ActionMessage("login.success");

messages.add("login_success_1", message);

//传递国际化文本

this.saveMessages(request, messages);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值