• 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,然后跳转到页面更改语言,则国际化完成。

      

     

     

     

     

      

        

  • 相关阅读:
    【Leetcode_easy】720. Longest Word in Dictionary
    【Leetcode_easy】717. 1-bit and 2-bit Characters
    【Leetcode_easy】709. To Lower Case
    【Leetcode_easy】707. Design Linked List
    【Leetcode_easy】706. Design HashMap
    第38课 栈和队列的相互转化
    第7章 网络层协议(4)_IGMP协议
    第7章 网络层协议(3)_ARP协议
    第33课 双向循环链表的实现
    第32课 Linux内核链表剖析
  • 原文地址:https://www.cnblogs.com/wjn563/p/4127266.html
Copyright © 2020-2023  润新知