Struts1 中的国际化

    国际化简称i18n是英语Internationalization的缩写。在Struts中实现国际化需要以下几步:

  1. 创建资源文件
  2. 加载资源文件
  3. 在页面中使用<been:message >标签来显示国际化的文本消息。

 步骤详解:

1——创建资源文件

    创建一个包用来放资源文件。

    Struts中的默认创建的资源文件名是ApplicationResources.properties。我们要自定义的资源文件名可以这样命名:

    baseName_language.properties.  baseName是资源的基本名,language表示所支持的语言,这个可以再浏览器的语言菜单里面看到,中文是zh英文是en。

    最后的properties是文件的后缀名,不可改变。

    打开资源文件后添加name,和value集合的键值对。先添加中文资源,里面的name一般是这样写的  pageName.页面的标签,

           比如添加用户页面的添加按钮(adduser.btn),他的value值就是中文 "添加"如果是英文资源,则value值是"ADD"。就这样把页面的每个能显示的节点都给配一套    英文资源和中文资源。

2——加载资源文件<struts1中的配置>

    资源文件通过struts-config.xml文件进行配置,默认从WEB-INF/classes路径加载。

    <struts-config>

    <message-resources parameter="资源文件所在的包名.baseName"/>——只需要基本名就行

    </struts-config>

3——在页面使用<bean:message>来显示数据

    在此之前需要在页面上引用Struts HTMl的标签库和Struts bean的标签库。

    <bean:message key="adduser.btn"/>页面上的添加按钮。

4——通过Action改变当前的语言环境

  

public class LanguageChange  extends Action {
   
    public ActionForward execute(ActionMapping mapping, ActionForm form,
            HttpServletRequest request, HttpServletResponse response)
            throws Exception {
    String lang=request.getParameter("lang");
   if(lang.equals("zh")){
    request.getSession().setAttribute(Globals.LOCALE_KEY,Locale.CHINESE);   
   }
   if(lang.equals("en")){
        request.getSession().setAttribute(Globals.LOCALE_KEY,Locale.ENGLISH);
   }
   return mapping.findForward("adduser");    
   }
        
    }

    可以用页面上的超链接进入这个Action,然后跳转到页面更改语言,则国际化完成。

  

 

 

 

 

  

    

posted @ 2014-11-27 21:47  慕容哲别-  阅读(491)  评论(1编辑  收藏  举报