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后,便可以点击链接来随意切换访问英文或中文页面。

  • 相关阅读:
    ant 软件包不存在报错
    在 Internet Explorer 中使用 Windows 窗体控件
    智能客户端
    Back to the Future with Smart Clients
    "Automation 服务器不能创建对象" 的解决方案
    Top 10 Reasons for Developers to Create Smart Clients
    Updater Application Block for .NET
    Smart Client Application Model and the .NET Framework 1.1
    Security and Versioning Models in the Windows Forms Engine Help You Create and Deploy Smart Clients
    智能客户端技术总结(二)
  • 原文地址:https://www.cnblogs.com/sharpest/p/5591254.html
Copyright © 2011-2022 走看看