struts2--国际化
1、国际化:无须改写源代码即可让开发出的应用程序能够支持多种语言和数据格式的技术
--与之对应的是本地化,指让一个具备国际化支持的应用程序支持某个特定的地区;
--struts2框架会根据请求包含的<s:text name=”username”></s:text>Locale加载对应的资源文件;
--通过代码取得该资源文件中指定的key对应的消息;
--配置资源文件:
> 1)在Action类文件所在的路径建立名为ActionName_language_country.properties;
> 2)在包的根路径下建立文件名为package_language_country_i18n.properties,该包下所有Action都可以访问该资源文件。
> 3)全局配置:
struts.xml:<constant name=”struts.custom.i18n.resources” value=”baseName”/>
Struts.properties:struts.custom.i18n.resources = baseName
--页面上可以使用<s:text name=””>获取相应资源对应key的value值;后台代码中若类对象实现了TextProvider接口,则可以通过getText() 方法来获取相应资源;
--strues2通请求参数中的request_locale( request_only_locale )对应的参数值来指定资源文件
<a href="testI18n?request_locale=en_US">English</a>
<a href="testI18n?request_locale=zh_CN">中文</a>
--其实现是通过I18n拦截器来确定Locale对象;