strtus2的properties的配置文件一般都是配合国际化使用的,当然可以抛开国际化,直接只是单纯的取文件里的数据。
首先配置两个文件:
,一个对应中文,一个对应英文(这里的基础文件名是my_struts)
在取文件内容的时候有多种方法:
1、让你的Action继承ActionSupport类,直接调用getText(字段名)就行了,这里要先在Struts.xml文件中配置要引用的国际化文件,即<constant name="struts.custom.i18n.resources" value="my_struts"/> ,value就是你自己的不加后缀(没有_en_US或_zh_CN)的properties文件名。
2、通过ResourceBundle.getBundle("properties文件名", Locale.CHINA) .getString("字段名"),这里的文件名同样没有后缀,而且这种方法第二个参数可以直接指定访问的配置文件的语言。
上面两个是取得文件的内容,当然我们还要指定语言,毕竟不是所有的方法都能直接在参数中指定语言的。
1、Action中在取文件字段之前使用代码修改语言:
Locale locale = new Locale("en","US");
ActionContext.getContext().setLocale(locale);
2、通过浏览器设置(我只试过IE的设置):设置--Internet选项--语言
IE默认是没有英语的,可以手动添加,添加之后要设置语言的优先级,优先级最高的语言就是最终显示的语言;选中要显示的语言,将他上移到第一位就行了。
这样strtus就能根据对应的语言取对应的properties文件了