Struts2学习之国际化机制

        什么叫国际化呢?自学时刚看到这个词的时候感觉好像很高端很难的样子,深入理解后才发现就那么一回事,不过其中的机制确实挺好的。

        国际化主要是指语言的国际化,是不同地区和使用不同语言的用户都能方便地使用同一个应用系统。Struts2的国际化机制是建立在Java国际化 的基础之上,对Java国际化 进行了优化和封装。主要过程如下:

        当客户端发送请求时,Struts2的i18n(i18n是由单词internationalization,及国际化单词简化而来,该单词共有20个字母,除了头尾的i和n中间18个字母,所以是i18n)拦截器会对客户端请求进行拦截,并获得request_locale的值,改制存储的是客户端浏览器的地区语言环境,获得该值后i18n烂机器将他实例化成Locale对象,并存储在用户Session中。然后Struts2会查找struts.xml或strus.properties配置文件来加载国际化资源文件。加载好国际化资源文件后,Struts2的视图文件会通过Struts2标签吧国际化消息显示出来。

        国际化资源文件是.properties为扩展名的文件,该文件以键值对的形式存储国际化消息。即key=value,国际化资源的命名规则是resourceName_language_country.properties,如gloablMessages_en_US.properties是英文资源文件,而中文资源文件则是,gloablMessages_zh_CN.properties。

        在Struts.properties中的配置如下:struts.i18n.resources=globalMessages,输出国际化信息,在表单中:

<s:textfield name="loginName" key="loginName" />
等。在Action中,

public String  addUser(){
int jg = ud.addUser(this.u);
if(jg == 1)return SUCCESS;
else if (jg ==2 ){
this.addFieldError("u.name", getText("huizhi/havename"));
return NONE;
else return ERROR;
}

       大致的Struts2的国际化机制和使用方法就如上所示。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值