Struts2国际化

一:简单理解
国际化简称i18n,其来源是英文单词 internationalization的首末字符i 和n。18为中间的字符数。
随着全球经济的一体化,软件开发者应该开发出支持多国语言、国际化的Web应用。对于Web应用来说,同样的页面在不同的语言环境下需要显示不同的效果。
国际化文件的命名规则:
1、基本名.properties 如:message.properties
2、基本名_语言编码_国家编码.properties 如:message_zh_CN.properties, message_en_US.properties 其中语言编码和国家编码是固定的,可以在JDK中Locale类的常量中找到。
Java中已经实现了国际化功能,struts2中只是对该功能进行了整合,以方便我们的使用。

Struts2国际化文件分类: 1、全局范围国际化文件 2、包范围国际化文件 3、Action类范围国际化文件。
**全局范围国际化文件:**

编写一个messages_zh_CN.properties和messages_en_US.properties放在src下。在这里插入图片描述
我在这里配置了两个属性:

messages_en_US(英文):在这里插入图片描述
messages_zh_CN(中文):在这里插入图片描述
login.username=\u767B\u5F55\u7528\u6237\u540D
login.password=\u767B\u5F55\u5BC6\u7801

在struts.xml中通过struts.custom.i18n.resources常量把资源文件定义为全局资源文件:
eg:


或者

(java代码中)国际化获取配置文件值使用:getText(“键”)
eg:getText(“login.username”) ---------》username。
或者
getText(“login.username”) ------------>登录用户名。
在jsp页面中使用国际化。这里需要使用标签:<s:i18n>标签
示例(中文):

<!-- 局部定义使用哪一种国际化语音 -->
     <s:i18n name="messages_zh_CN">  
     <form action="<%=basePath%>login.action" method="post">
              <table>
                 <tr>
                   <td><s:text name="login.username"/></td>
                  <td><input type="text" name="user.userName"/></td>
                 </tr>
                 <tr>
                  <td><s:text name="login.password"/></td>
                  <td><input type="text" name="user.password"/></td>
                </tr>
                <tr>
                 <td colspan="2"><input type="submit" value="<s:text name="login"/>"/></td>
               </tr>              
             </table>                             
     </form>
    </s:i18n> 

浏览器显示:在这里插入图片描述
示例(英文):

<!-- 局部定义使用哪一种国际化语音 -->
     <s:i18n name="messages_en_US">  
     <form action="<%=basePath%>login.action" method="post">
               <table>
                 <tr>
                   <td><s:text name="login.username"/></td>
                   <td><input type="text" name="user.userName"/></td>
                 </tr>
                 <tr>
                  <td><s:text name="login.password"/></td>
                  <td><input type="text" name="user.password"/></td>
                </tr>
                <tr>
                 <td colspan="2"><input type="submit" value="<s:text name="login"/>"/></td>
               </tr>              
              </table>                             
     </form> 
    </s:i18n>
     ```

浏览器显示:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值