Java国际化——Struts国际化实现的底层机制

 ...
  String language = "zh";
  String country = "CN";
  Locale currentLocale = new Locale(language, country);
  ResourceBundle messages = ResourceBundle.getBundle("resource.Message",currentLocale);
  System.out.println(messages.getString("greeting"));
...

 ----无占位符resource的使用方法------------

资源文件Message_zh_CN.properties:
greeting=\u4F60\u597D----你好
farewell=\u518D\u89C1----再见

资源文件Message_en_US.properties:
greeting=Hello
farewell=Bye

执行文件MainRun.java:


注:resource.Message中的resource.是.properties文件存放的包路径

 

----有占位符resource的使用方法------------

资源文件Message_zh_CN.properties:
greeting={0}\uFF0C\u4F60\u597D\uFF0C\u73B0\u5728\u662F{1,date} {1,time}
----{0},你好,现在是{1,date} {1,time}

资源文件Message_en_US.properties略去不写。

执行文件MainRun.java:

 ...
  Locale curLocale = new Locale("zh","CN");
  MessageFormat formatter = new MessageFormat("");
  formatter.setLocale(curLocale);
  ResourceBundle bundle = ResourceBundle.getBundle("ch03.Message",curLocale);
  Object[] params = {"air",new Date()};
  String pp = formatter.format(bundle.getString("greeting"),params);
  System.out.println(pp);
...
 
注:ch03.Message中的ch03.是.properties文件存放的包路径

 

------------------------------------------

 

Struts2框架的底层国际化和Java国际化是一致的。作为一个良好的MVC框架,Struts2将Java的国际化功能进行了封装和简化,开发者使用起来会更加简单快捷。

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值