Struts2国际化

国际化(internationalization)是设计和制造容易适应不同区域要求的产品的一种方式。它要求从产品中抽离所有地域语言,国家/地区和文化相关的元素。换言之,应用程序的功能和代码设计考虑在不同地区运行的需要,其代码简化了不同本地版本的生产。开发这样的程序的过程,就称为国际化

国际化(Internationalization:I18N)

使程序在不做任何修改的情况下,可以在不同国家或地区和不同语言环境下,按照当地的语言和格式习惯显示字符。 i18N 就是 Internationalization,因为以 i 开头,以 N 结尾,共18个字母,也就是国际化的意思

本地化(Localization:L10N)

一个国际化的程序,当它运行在本地机器时,能够根据本地机器的语言和地区设置显示相应字符

Java程序的国际化思路

将程序中的提示信息、错误信息等放在资源文件中,为不同国家/语言编写对应资源文件。资源文件由很多key-value对组成,key保持不变,value随国家/语言不同而不同。这些资源文件使用共同的基名,通过在基名后面添加语言代码、国家和地区代码来进行区分

 

完成国际化

第一步:在src目录下,新建一个文件: 在里面写上国际化资源的名字,如:

struts.custom.i18n.resources= msg

第二步:在src的目录下,添加国际化资源名字,这里添加两份(中文和英文)

msg_zh_CN.propertiesmsg_en_US.properties

资源命名规则:一般可以是(可以自己定义)

资源文件的值(struts.custom.i18n.resources)_语言_国家.properties

在对应的properties文件中写下对应的keyvalue

msg_zh_CN.properties内容:

:对应的值是中文字符对应的ascii码,如果使用myeclipse编辑器在properties

输入中文会自动转换成对应的ascii

msg_en_US.properties内容:

 

第三步:在需要国际化的页面中修改

修改reg.jsp

url中的这个参数 request_locale会被 i18n 拦截器读取,然后根据这个值设置语言环境。 i18n 拦截器是strutsdefault里面自带的拦截器。

 

访问JSP页面

进入控制面板,修改地区/语言,改为美国  刷新页面

 

 

 

常用的常量

<!-- 指定默认编码集,作用于HttpServletRequestsetCharacterEncoding方法 -->

    <constant name="struts.i18n.encoding" value="UTF-8"/>

    <!-- 该属性指定需要Struts 2处理的请求后缀,该属性的默认值是action,即所有匹配*.action的请求都由Struts2处理。

    如果用户需要指定多个请求后缀,则多个后缀之间以英文逗号(,)隔开。 -->

    <constant name="struts.action.extension" value="do"/>

    <!-- 设置浏览器是否缓存静态内容,默认值为true(生产环境下使用),开发阶段最好关闭 -->

    <constant name="struts.serve.static.browserCache" value="false"/>

    <!-- struts的配置文件修改后,系统是否自动重新加载该文件,默认值为false(生产环境下使用),开发阶段最好打开 -->

    <constant name="struts.configuration.xml.reload" value="true"/>

    <!-- 开发模式下使用,这样可以打印出更详细的错误信息 -->

    <constant name="struts.devMode" value="true" />

    

    <!– 与spring集成时,指定由spring负责action对象的创建 -->

    <constant name="struts.objectFactory" value="spring" />

 <!–该属性设置Struts 2是否支持动态方法调用,该属性的默认值是true。如果需要关闭动态方法调用,则可设置该属性为false-->

    <constant name="struts.enable.DynamicMethodInvocation" value="false"/>

国际化校验信息

msg_zh_CN.properties中添加

 

msg_en_US.properties中添加

 

修改XXX-validation.xml

<field name="uname">

   <field-validator type="requiredstring">

   <message key="validate.uname.require"></message>

   </field-validator>

   <field-validator type="stringlength">

              <param name="minLength">3</param>

              <param name="maxLength">8</param>

              <param name="trim">true</param>

  <message key="validate.uname.stringlength"></message>

</field-validator>

   </field>

 

 

 

 

 

 

 

Struts类型转换:

只需要记住Struts内部提供的类型转换就可以了:

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值