struts与jstl对国际化的支持(转贴)

 
  • struts对国际化的支持
struts本身使用了java的resource bundle,支持消息的国际化,在struts-config.xml或module相关的config文件中添加
如下部分:

   <message-resources parameter="properties.localization.GalaxyLocalization"/>
其中parameter的值即为资源文件的位置,如上,表示资源文件为classpath中的:
properties.localization. GalaxyLocalization ?.properties
另外,可以为message-resources加上key值,这样就可以加入多个资源文件,每个key对应着一个资源文件,例如:

   <message-resources key="usermanager" parameter="properties.localization.GalaxyLocalization"/>
另外,针对不同的locale,我们可以创建相应的资源文件,例如对于中国的locale,对应的资源文件映射为:

     GalaxyLocalization_zh_CN.properties
在获取属性值时,总会先去和本地locale最合适的资源文件中去读取值,如果没有locale的资源文件,那么将去默认的
GalaxyLocalization.properties中去找。

 

  • JSTL对国际化的支持
JSTL中也有对国际化的解决策略,我们可以通过下面的方式定义jstl的资源件,在web.xml中加入:

   <context-param>      
        <param-name>javax.servlet.jsp.jstl.fmt.localizationContext</param-name>
        <param-value>properties.localization.GalaxyLocalization</param-value>
   </context-param>
上面定义中的值和struts中资源文件的值相同,即struts和jstl可以使用同一个(或说同一套)资源文件。
  • 如何引用资源文件中的值?
    • 在struts中引用资源文件中的值
例如在资源文件中定义了如下值:

...
button.submit=submit
errors.required={0is required!
...
在struts中使用<bean>标签可以获取资源文件的值,例如:

   <bean:message key="errors.required" arg0="user name"/>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值