<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    §封Ja葬va§

    Struts2國際化

    struts2的國際化分三種情況:前臺頁面的國際化,Action類中的國際化,配置文件的國際化。

    首先指定全局的國際化資源文件:
    在配置文件struts.xml中引入
    <constant name="struts.custom.i18n.resources" value="message"></constant>(注意位置)

    在struts.properties文件中指定如下一行:
    struts.custom.i18n.resources=message

    指定的國家化資源文件即為
    xxx_語言_國家.properties
    message_zh_CN.properties(簡體中文資源文件)
    message_en_US.properties(美國英語資源文件)

    (1).JSP頁面上的國際化(使用struts2的<s:text .../>):

    <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國際化:

    未國際化:
    <s:textfield name="username" label="username"></s:textfield>
    <s:textfield name="password" label="password"></s:textfield>

    國際化后:
    <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為例:

    未國際化:
    <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>

    國際化后:
    <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 !

    注:message_zh_CN.properties這個國際化資源文件不允許包含非西歐字符。
    Java提供了一個工具來處理該文件中的中文:native2ascii,這個工具可以在%JAVA_HOME%/bin路勁下找到。

    posted on 2009-03-05 10:38 §朱家二少§ 閱讀(691) 評論(0)  編輯  收藏 所屬分類: Struts2


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 亚洲一区二区三区高清不卡| 亚洲嫩模在线观看| 亚洲国产av玩弄放荡人妇| 无码国产精品一区二区免费虚拟VR| 亚洲福利在线观看| 久久福利青草精品资源站免费| 亚洲日韩精品一区二区三区无码| 亚洲黄片手机免费观看| 亚洲色婷婷一区二区三区| 在线免费观看h片| 亚洲AV永久无码精品水牛影视| a级成人毛片免费图片| 亚洲AV人人澡人人爽人人夜夜| 亚洲一区免费观看| 亚洲导航深夜福利| 午夜无遮挡羞羞漫画免费| 亚洲av色香蕉一区二区三区| 亚洲成AV人在线观看网址| 免费久久人人爽人人爽av| 亚洲视频中文字幕在线| 免费视频专区一国产盗摄| 亚洲爆乳少妇无码激情| 亚洲精品一级无码鲁丝片| a级毛片免费播放| 亚洲日本久久一区二区va| 免费人成视频在线观看视频| 青青操免费在线视频| 亚洲综合色一区二区三区小说| 国产va免费精品观看精品| 亚洲第一se情网站| 亚洲成A人片在线观看WWW| 国产一卡2卡3卡4卡无卡免费视频| 亚洲av永久无码精品网址| 亚洲精品夜夜夜妓女网| 69成人免费视频| 午夜亚洲国产精品福利| 亚洲av无码专区国产乱码在线观看| 欧美在线看片A免费观看| 一级毛片免费播放试看60分钟| 亚洲视频免费在线播放| 亚洲国产综合无码一区二区二三区 |