struts2里资源国际化的配置

struts里面的资源文件一共有三个范围,全局范围,package范围,Action范围,下面我们来大致了解下它们的配置和用法

1.全局范围

 首先,得在struts.xml里面配置一个常量

  <constant name="struts.custom.i18n.resources" value="yuchao" />

value指明全局资源文件的基名,比如若是上面这种配置的话,在src目录下建两个资源文件

yuchao_en_US.properties(英文环境),yuchao_zh_CN.properties(中文环境),以key=value的形式写好资源文件就可以在action或jsp中访问了。例如在yuchao_en_US.properties中配置name=zhangsan

yuchao_zh_CN.properties中配置name=/u5F20/u4E09(“张三”的utf-8编码格式)

那么我们在jsp中就可以通过<s:text name="name"/>输出国际化信息了,在jsp页面就可以通过

<s:textfield key="name"/>来输出,在继承了ActionSupport的Action中可以通过this.getText("name")来输出

我们还可以为国际化信息指定占位符,更加灵活地使用资源文件,比如 我们在资源文件里配置

welcome={0},welcome to {1} java(中文我就不写了,类似的)

在jsp页面可通过<s:text name="welcome">

                    <param>zhangsan</param>

                    <param>study</study>

                    </s:text>

来输出“zhangsan,welcome to study java”信息,在action下可以通过this.getText("welcome",new String[]{"zhangsan","study"})来输出 “zhangsan,welcome to study java”

2.package范围

用法和全局范围除了基名是package外,其他都是完全相同的,yuchao_en_US.properties改成package_en_US.properties即可,不需要指定struts.custom.i18n.resources常量

3.Action范围

基名改为ActionClassName_en_US.properties其它与上面两种情况完全相同

不需要指定struts.custom.i18n.resources常量

 

 

 

资源文件的搜索范围

首先struts会在与类名一致的ActionClassName_language.properries下搜索,如果搜索不到才会在Action所在的包下搜索,再找不到的话就会在上层包范围下搜索,只有找不到最后才会在“struts.custom.i18n.resources”指定的常量下去搜索(这里都是通过key来搜索的)

 

 

使用指定的资源文件来输出国际化信息

<s:i18n name="yuchao">

  <s:text name="name">

</s:i18n>

可以输出基名为yuchao的资源文件里面的信息

 

如果要访问某个包下的资源文件,可以通过

<s:i18n name="com/yuchao/action/package">

  <s:text name="welcome">

     <s:param>zhangsan</s:param>

     <s:param>study</s:param>

 </s:text>

</s:i18n>

来访问

 

结束。。。

(若有不完整的地方,欢迎各位补充,不胜感激,^_^ )

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值