文件中的设置(这里不用设置三个,struts 会依据 locale 自动找到对应的文件)如下:
<message-resources parameter="Resources" />
三个 message resources 文件中定义的 message key 为:
<!-- Resources.properties -->
resource=Resources.properties.
from=Resources.properties.
<!-- Resources_en.properties -->
from=Resources_en.properties.
<!-- Resources_zh.properties
因为文件的编码被限制为 ISO8859 所以要有汉字必须用 jdk 的 native2ascii 提前转换
from=Resources_zh.properties.
下面的代码片段示例了 bean:message 标签的用法:
<bean:message key="from"/><br/>
<bean:message key="resource"/><br/>
<html:link action="/locale?language=en">English</html:link>
<html:link action="/locale?language=zh">Chinese</html:link>
上面的代码中含有改变 locale 的两个 html:link 标签,要使它们工作您的 struts-config.xml 文
件中必须含有下面定义的 form 和 action:
<form-bean name="localeForm"
type="org.apache.struts.action.DynaActionForm">
<form-property name="language" type="java.lang.String" />
<form-property name="country" type="java.lang.String" />
<!--action 成功后要跳到那里-->
<form-property name="page" type="java.lang.String"
initial="/message.jsp"/>
</form-bean>
<action path="/locale" type="org.apache.struts.actions.LocaleAction"
name="localeForm" scope="request">
</action>
在不同的 locale 下我们得到了如下的两个结果:
在 locale 为 zh 时的结果:
Resources_zh.properties.
Resources.properties.
在 locale 为 en 时的结果: