分享

struts2国际化配置文档

 Andy_江 2013-07-23
  1. 前提条件:strut2的必须架包已经引入,struts2的配置文件全部配置完成
  2. 1.首先创建一个struts.properties在src目录下,服务器启动时候会自动加载该文件,在这个文件中写入struts.custom.i18n.resources=globalMessages,服务器会自动选择前缀为globalMessages资源文件。(或者你在你的struts.xml文件中添加<constant name="struts.custom.i18n.resources" value="globalMessages"></constant>服务器加载struts.xml的时候会加载国际化资源文件);
  3. 2.在src目录下创建资源文件英文globalMessages_en.properties 中文globalMessages_zh.properties。
  4. globalMessages_en.properties 文件内容为homehome=home
  5. globalMessages_zh.properties文件内容为 home=\u9996\u9875
  6. 3.在页面端获得资源文件信息。<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
  7. <%@ taglib prefix="s" uri="/struts-tags" %>
  8. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  9. <html>
  10. <head>
  11. <title>My JSP 'test.jsp' starting page</title>
  12. </head>
  13. <body>
  14. <s:text name="home"></s:text>
  15. </body>
  16. </html>
  17. struts2的国际化分三种情况
  18. 1.前台页面的国际化,
  19. 2.Action类中的国际化,
  20. 3.配置文件的国际化。
  21. 首先指定全局的国际化资源文件:
  22. 在配置文件struts.xml中引入
  23. <constant name="struts.custom.i18n.resources" value="message"></constant>(注意位置)
  24. 在struts.properties文件中指定如下一行:
  25. struts.custom.i18n.resources=message
  26. 指定的国家化资源文件即为
  27. xxx_语言_国家.properties
  28. message_zh_CN.properties(简体中文资源文件)
  29. message_en_US.properties(美国英语资源文件)
  30. (1).JSP页面上的国际化(使用struts2的<s:text .../>):
  31. <s:i18n name="message">
  32. <s:text name="hello">
  33. <s:param>${username}</s:param>
  34. </s:text>
  35. </s:i18n>
  36. message_en_US.properties文件配置:
  37. hellohello=hello world,{0}
  38. message_zh_CN.properties文件配置:
  39. hello=你好,{0}
  40. (2)表单元素的Label国际化:
  41. 未国际化:
  42. <s:textfield name="username" label="username"></s:textfield>
  43. <s:textfield name="password" label="password"></s:textfield>
  44. 国际化后:
  45. <s:textfield name="username" key="uname"></s:textfield>
  46. <s:textfield name="password" key="pword"></s:textfield>
  47. message_en_US.properties文件,配置:
  48. uname=username
  49. pword=password
  50. message_zh_CN.properties文件,配置:
  51. uname=用户名
  52. pword=密码
  53. (3).Action中的国际化:
  54. 未国际化:
  55. this.addFieldError("username", "the username error!");
  56. this.addFieldError("password", "the password error!");
  57. 国际化后:
  58. this.addFieldError("username", "username.error");
  59. this.addFieldError("password", "password.error");
  60. message_en_US.properties文件配置:
  61. username.error = the username error !
  62. password.error = the password error!
  63. message_zh_CN.properties文件配置:
  64. username.error=用户名错误!
  65. username.error=密码错误!
  66. (4).配置文件中的国际化:
  67. 以输入校验的LoginAction-validation.xml为例:
  68. 未国际化:
  69. <field name="username">
  70. <field-validator type="requiredstring">
  71. <param name="trim">true</param>
  72. <message>username should not be empty!</message>
  73. </field-validator>
  74. <field-validator type="stringlength">
  75. <param name="minLength">6</param>
  76. <param name="maxLength">12</param>
  77. <message>username should be between ${minLength} and ${maxLength}!</message>
  78. </field-validator>
  79. </field>
  80. 国际化后:
  81. <field name="username">
  82. <field-validator type="requiredstring">
  83. <param name="trim">true</param>
  84. <message key="username.empty !"></message>
  85. </field-validator>
  86. <field-validator type="stringlength">
  87. <param name="minLength">6</param>
  88. <param name="maxLength">12</param>
  89. <message key="username.size"></message>
  90. </field-validator>
  91. </field>
  92. message_en_US.properties文件配置:
  93. username.empty = the username should not be empty !
  94. username.size = the size of username shoule be between 6 and 12 !
  95. message_zh_CN.properties文件配置:
  96. username.empty =用户名不能为空 !
  97. username.size = 用户名长度在6到12 !
  98. 注:message_zh_CN.properties这个国际化资源文件不允许包含非西欧字符。
  99. Java提供了一个工具来处理该文件中的中文:native2ascii,这个工具可以在%JAVA_HOME%/bin路劲下找到。
  100. 本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/yaa2004/archive/2009/10/10/4650796.aspx

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多