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);...??
------------------------------------------
?
Struts2框架的底层国际化和Java国际化是一致的。作为一个良好的MVC框架,Struts2将Java的国际化功能进行了封装和简化,开发者使用起来会更加简单快捷。
?