i18n动态语言切换
第一步:在struts.xml中里面加上<constant name="struts.custom.i18n.resources" value="messageResources"></constant>
第二步:创建LanguageAction
package action;
import com.opensymphony.xwork2.ActionSupport;
public class LanguageAction extends ActionSupport {
@Override
public String execute() throws Exception {
return "success";
}
}
第三步:配置struts.xml
<action name="language" class="action.LanguageAction">
<result name="success">/login.jsp</result>
</action>
第四步:添加资源文件
"key=value"的形式
messageResources_zh_CN.properties //中文
内容:
name=姓名
password=密码
login=登录
messageResources_en_US.properties //英文
name=name
password=password
login=login
第五步:jsp页面
<s:form action="user_login" method="post">
<a href="language?request_locale=en_US">英文</a>
<a href="language?request_locale=zh_CN">中文</a>
<table>
<tr>
<td>
<s:textfield name="name" label="%{getText('name')}" cssStyle="width:150" ></s:textfield>
</td>
</tr>
<tr>
<td>
<s:password name="password" label="%{getText('password')}" cssStyle="width:150" ></s:password>
</td>
</tr>
<tr>
<td><s:submit value="%{getText('login')}" ></s:submit> </td>
</tr>
</table>
</s:form>
当点击“英文”“中文”链接时就会切换当前的语言,如果希望其他页面也随之改变语言,所请求的页面必须经过action