打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
struts2国际化

java底层的国际化原理:

1、先在src目录下创建相应的若干个属性文件:查看java.util.Localjava.util.ResourceBundle类,java.text.MessageFormat类。

格式:baseName_language_country.properties

比如:美国的英文的属性文件:hello_en_US.properties  (注意大小写)

     中国的中文的属性文件:hello_zh_CN.properties  (注意大小写)

    在属性文件中不允许输入中文保存,应该用native2ascii进行将中文进行转换成unicode编码的格式进行保存。

如果资源文件需要接收程序外部传入的参数进行动态显示,则需要在资源文件的value后面写上 :{0} 参数,当然也可以加多个参数,比如 :{0}{1}如果是多个参数。则传递的参数也需要多个

hellofile_en_US.properties:

  hello = hello world:{0}{1}

<!-- hello相当于key,==后面的相当于value.传入了两个参数-->

 

hellofile_zh_CN.properties:

  hello = \u60a8\u597d:{0}{1}

<!-- hello相当于key,==后面的相当于value,传入了两个参数。\u60a8\u597d 中文为“您好”-->

 

2、创建一个java的测试文件。

package com.test.i18n;

import java.text.MessageFormat;

import java.util.*;

public class Test3 {

   publicstatic void main(String[] args) {

//得到当前系统默认语言的一个实例

     Localelocale = Locale.getDefault();

      //得到美国语言的本地化的一个实例

      // Locale locale2 = Locale2.US

     ResourceBundlebundle = ResourceBundle.getBundle("hellofile",locale);

     // ResourceBundle bundle2 =ResourceBundle.getBundle("hellofile",locale2);

     Stringvalue = bundle.getString("hello");

    // String value2 = bundle2.getString("hello");

     //object数组中的参数传递给资源文件中的第一个变量,就会将"北京"上海替换掉资源文件中的{0}{1}

     Stringresult = MessageFormat.format(value, new Object[]{"北京","上海"});

// String result2 = MessageFormat.format(value2,new Object[]{"北京","上海"});

 

     System.out.println(result);

//System.out.println(result2);

    

   }

}

 

运行它:输出结果为  您好:北京上海

运行注释的代码结果为:hello word:北京上海

 

struts2的国际化:有四种(类型转换消息的国际化、数据据校验信息的国际化、JSP显示页面的国际化、Action里面准备输出信息的国际化)

1、           JSP页面的国际化:

先在struts.xml中的<struts></struts>标签中加入一句:

<constant name="struts.custom.i18n.resources"value="message"></constant>

再在src下面创建两个(或更多)名为message的资源文件

message_zh_CN.properties:

addUser = \u589e\u52a0\u7528\u6237\u4fe1\u606f

message_en_US.properties:

addUser = Add User Information

<!--\u589e\u52a0\u7528\u6237\u4fe1\u606f中文为增加用户信息”-->

最后在jsp页面中需要提示信息的地方,加上一句:

<s:text name=”addUser”></s:text>

<!—name的值必须要与资源文件中的key值一致-->

 

2

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Struts2学习笔记---i18n国际化
利用资源文件实现java web国际化
"struts中文问题","struts国际化问题"的终极解决方案
struts2国际化配置文档
struts2.0国际化,JSP,action,参数国际化
spring 国际化
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服