消息国际化i18n

struts 国际化资源文件的分成两类:

1.全局的国际化资源文件

   默认加载的:org/apache/struts2/struts-messages

   配置加载的 struts.xml中配置: 

   <constant name="struts.custom.i18n.resources" value="类路径下资源文件名1,类路径下资源文件名2...."></constant> 

 

2.Action类对应的资源文件

   在Action_validation中指定的message的key ,需要通过key查找对应的信息

  在jsp页面 国际化标签中指定的key,需要通过key查找对应的信息

  那么从哪个国际化资源文件中查询呢?

  如UserAction类,国际化资源文件查找顺序:

    如com.app.UserAction类,国际化资源文件查找顺序:

    1.UserAction.class.getName()+Locale

    2.UserAction直接实现的接口Class +Locale

    3.UserAction 父类Class+Locale

    4.UserAction 父类 直接实现的接口Class+Locale

    重复 3-4 直接到Object为止

     5.如果Action 实现了ModelDriven,则获取 Action.getModel() 对应的国际化资源文件(重复1--4)x

     6.Action所在的包名生成资源文件名“com.app.package”+Locale,没有找到则查上一级包名

     7. 如果 key中有“.” ,如 user.userId,则获取Action.getUser() 对应的国际化资源文件(重复1--4)(key变成了userId)

   8.  如果仍没有找到则到默认的国际化资源文件查找。 

 

 

类LocalizedTextUtil 实现了以上功能。

 

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值