您的位置:首页 > 其它

strut2的简单的国际化问题

2013-12-06 14:00 148 查看
国际化的操作的原理:根据请求头中的request_locale参数来区分不同的地区,传递此请求头信息,在strut中转一圈,它会返回不同地区的资源,实现国际化:
1.书写国际化文件的资源:资源名_语言_国家.properties
  例如:reource_zh_CN.properties
     
  resource_en_US.properties
 
 reource_zh_CN.properties中的内容为:
 
   
  name=\u7528\u6237\u540D
     
  pwd=\u5BC6\u7801
     
  submit=\u63D0\u4EA4
     
  reset=\u91CD\u7F6E
 
 resource_en_US.properties中的内容为:
 
   
  name=username
pwd=password
submit=submit
reset=reset
这些文件存储在src目录下
2.在struts.xml中配置:
    
<constant name="struts.custom.i18n.resources"
value="resource"></constant>
3.书写国际化的界面:reg.jsp
   <s:a
href="reg/i18n?request_locale=zn_CN">中文</s:a>
<s:a
href="reg/i18n?request_locale=en_US">英文</s:a>
<form action="reg/reg">
<s:i18n name="national">
<s:textfield key="name"
name="name"></s:textfield>
<s:password key="pwd"
name="pwd"></s:password>
<br>
<s:submit key="submit" name="submit"
align="left"></s:submit>
<s:reset key="reset"
align="left"></s:reset>
</s:i18n>
</form>
注:通过传递request_locale的参数,区分了不同的地区
 
  <s:i18n
name="national">必须使用它指定资源的名称








如果要实现对标签的动态处理可以这样写:
 
 <s:password name="pwd"
label="%{getText('infor',{'密码'})}"></s:password>
   
这个{'密码'}和资源文件中的{0}对应着
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: