struts2国际化处理

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


你可能感兴趣的:(struts2)