zoukankan      html  css  js  c++  java
  • strut2 国际化

    struts2 国际化分为:前台 页面国际化,Action类国际化,配置文件国际化。

    1. 首先制定全局国际化资源文件,在struts2.xml中加入一个常量配置:<constant name="struts.custom.i18n.resources" value="message"></constant>
    2. 国际化资源文件的名字规则:

               xxx_语言_国家.properties
               message_zh_CN.properties(简体中文资源文件)
               message_en_US.properties(美国英语资源文件)

         (1)前台页面国际化

                (1).JSP页面上的国际化(使用struts2的<s:text .../>):

                Html代码:

    <s:i18n name="message">  
    <s:text name="hello">  
    <s:param>${username}</s:param>  
    </s:text>  
    </s:i18n> 

    message_en_US.properties文件配置:
    hello=hello world,{0}

    message_zh_CN.properties文件配置:
    hello=你好,{0}

    (2)表单元素的Label国际化:

    未国际化:

    Html代码 

      

        <s:textfield name="username" label="username"></s:textfield>  
        <s:textfield name="password" label="password"></s:textfield>  

    国际化后:

    Html代码 
        <s:textfield name="username" key="uname"></s:textfield>  
        <s:textfield name="password" key="pword"></s:textfield>   

    message_en_US.properties文件,配置:
    uname=username
    pword=password

    message_zh_CN.properties文件,配置:
    uname=用户名
    pword=密码

    (3).Action中的国际化:

    未国际化:
    this.addFieldError("username", "the username error!");
    this.addFieldError("password", "the password error!");

    国际化后:
    this.addFieldError("username", "username.error");
    this.addFieldError("password", "password.error");

    message_en_US.properties文件配置:
    username.error = the username error !
    password.error = the password error!

    message_zh_CN.properties文件配置:
    username.error=用户名错误!
    username.error=密码错误!

    (4).配置文件中的国际化:

    以输入校验的LoginAction-validation.xml为例:

    未国际化:

    Xml代码  收藏代码
        <field name="username">  
        <field-validator type="requiredstring">  
        <param name="trim">true</param>  
        <message>username should not be empty!</message>  
        </field-validator>  
          
        <field-validator type="stringlength">  
        <param name="minLength">6</param>  
        <param name="maxLength">12</param>  
        <message>username should be between ${minLength} and ${maxLength}!</message>  
        </field-validator>  
        </field>   

     国际化后:

    Xml代码  收藏代码
        <field name="username">  
        <field-validator type="requiredstring">  
        <param name="trim">true</param>  
        <message key="username.empty !"></message>  
        </field-validator>  
          
        <field-validator type="stringlength">  
        <param name="minLength">6</param>  
        <param name="maxLength">12</param>  
        <message key="username.size"></message>  
        </field-validator>  
        </field>  

     message_en_US.properties文件配置:
    username.empty = the username should not be empty !
    username.size = the size of username shoule be between 6 and 12 !

    message_zh_CN.properties文件配置:
    username.empty =用户名不能为空 !
    username.size = 用户名长度在6到12 !

  • 相关阅读:
    POJ 2533 Longest Ordered Subsequence
    《程序员面试宝典》读书笔记之单链表和源码
    Windows搭建Sublime Text 3 + Go开发环境
    C++ 11学习(1):lambda表达式

    PHP函数十进制、二进制、八进制和十六进制转换
    MySQL 体系结构
    13.2 UPDATE
    UVA 12493 Stars (欧拉函数--求1~n与n互质的个数)
    springMVC3学习(四)--訪问静态文件如js,jpg,css
  • 原文地址:https://www.cnblogs.com/kailing-con/p/4197364.html
Copyright © 2011-2022 走看看