struts2国际化Tips
1.注意资源包的命名法
全局资源包:com.nutcore.resources.message
全局资源文件:message_en_US.properties message_zh_CN.properties
其他资源文件(包和动作类的):
package_en_US.properties package_zh_CN.properties
LoginAction_en_US.properties LoginAction_zh_CN.properties
2.如何在文件中引入国际化资源
> 对于全局资源
a.配置struts.xml
<constant value="com.nutcore.resources.message" name="struts.custom.i18n.resources"/>
b.获得本地语言环境
<%
//request.getLocale(),获得当前语言环境
ResourceBundle bundle = ResourceBundle.getBundle("com.nutcore.resources.message",request.getLocale());
%>
<%=bundle.getString("key") %><br>
<!-- 使用struts2标签获得语言包
如果直接访问jsp页面,没有经过动作类,找全局资源包
如果经过动作类,,找动作类
-->
<!-- name属性应该是资源包配置文件的key,如果key不存在,直接显示内容 -->
<s:text name="abc"></s:text> 显示:abc
<!-- 访问指定资源包 -->
<s:i18n name="com.nutcore.resources.message">
<s:text name="key"></s:text>
</s:i18n>
3.资源包查找顺序
如果资源包不存在,直接访问,查找全局
是按照资源包的顺序去查找,动作类 -> 包 -> 全局