zoukankan      html  css  js  c++  java
  • 45.国际化-选择使用资源文件

    转自:https://wenku.baidu.com/view/84fa86ae360cba1aa911da02.html

    其实在我们成功访问到login.jsp页面后,只要在地址栏中增加参数request_locale=en_US便可以正确切换到登录页面为英文。当然我们可以再链接根据此参数写这个资源文件的链接。当然我们也可借助一个新Action来实现,操作步骤如下:在login.jsp中增加如下代码:
    <a href="change.action?request_locale=zh_CN">

                  <s:text name="chinese"></s:text>

    </a>
    <a href="change.action?request_locale=en_US">

                  <s:text name="english"></s:text>

    </a>
    change.action对应的配置为:
    <action name="change" class="com.asm.ChangeLangAction">

                         <result>/login.jsp</result>

    </action>
    ChangeLangAction的主要代码如下:
    package com.asm;

    public class ChangeLangAction extends ActionSupport {

           public String execute() throws Exception {

                  return SUCCESS;

           }

    }

    以上是第一种方法,特别要注意,由于使用了不同Action,所以要资源文件这时只有pack级别和app级别的才起作用,所以这时还应把action级别的资源文件内容增加到app级别的资源文件中去。下面使用第二种方法,原理基本和上面一样,只需在此ChangeLangAction中增加一个新的字段String lang及相应的get/set方法,再增加一个新的方法changeLang,代码如下:
    public String changeLang() throws Exception {

                  Locale locale = null;

                  System.out.println(lang);

                  if (lang.equals("zh")) {

                         // 显示中文

                         locale = Locale.CHINA;

                         System.out.println("======" + lang+locale);

                  } else {

                         // 显示英文

                         locale = Locale.US;

                  }

                  ActionContext.getContext().setLocale(locale);                                                  ServletActionContext.getRequest().getSession().setAttribute("WW_TRANS_I18N_LOCALE", locale);

                  return SUCCESS;

           }

    配置内容为:
           <action name="cl" class="com.asm.ChangeLangAction" method="changeLang">

                         <result>/login.jsp</result>

           </action>
    在login.jsp中对应的链接为:

    <a href="cl.action?lang=zh">

                  <s:text name="chinese"></s:text>

    </a>
    <a href="cl.action?lang=en">

                  <s:text name="english"></s:text>

    </a>
    这样操作后,当我们成功访问到login.jsp后,便可以点击链接来随意切换访问英文或中文页面。

  • 相关阅读:
    【repost】Javascript操作DOM常用API总结
    【repost】JavaScript运动框架之速度时间版本
    【repost】对JAVASCRIPT匿名函数的理解(透彻版)
    【repost】 原生JS执行环境与作用域深入理解
    【repost】如何学好编程 (精挑细选编程教程,帮助现在在校学生学好编程,让你门找到编程的方向)四个方法总有一个学好编程的方法适合你
    【repost】Chrome 控制台console的用法
    【repost】一探前端开发中的JS调试技巧
    【repost】JS中的异常处理方法分享
    BI_DBA_安装(4):安装DAC及配置客户端
    BI_DBA_安装(3):安装informatic
  • 原文地址:https://www.cnblogs.com/sharpest/p/5591254.html
Copyright © 2011-2022 走看看