`
crashingsilver
  • 浏览: 6192 次
  • 性别: Icon_minigender_2
  • 来自: 郑州
最近访客 更多访客>>
社区版块
存档分类
最新评论

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

    博客分类:
  • java
阅读更多
 ...
  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的国际化功能进行了封装和简化,开发者使用起来会更加简单快捷。

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics