Struts国际化是建立在java国际化的基础上,一样也是通过提供不同国家/语言环境的消息资源,然后通过ResourcreBundle加载指定的Locale对应的资源文件,再取得该资源文件中指定key对应的消息—整个过程与java国际化完全相同。
例如:消息提示,错误提示和菜单,导航栏等等固定文本
一个资源包由多个文件组成,这些文件名都有命名规范:主要文件名语言代码国家代码.properties。 语言代码:由iso规定的。国家代码:有iso规定的 当文件只有主要文件名.properties时,表明它是默认资源包。浏览器会根据不同的语言环境找对应语言环境的资源包,当没有时,找默认的。 每个资源包的内容都由相同的key和对应语言环境的value组成。 比如: message_zh_CN.properties message_zh_HK.properties message_en_US.properties
Action的国际化 资源文件:
jsp页面国际化 目前不用这种方式 使用jstl库
首先,我们要知道,在Struts2中,所有的消息提示都是基于国际化的。其次,要想在Struts2中使用国际化,动作类必须继承ActionSupport类
全局资源包的配置
包范围资源包的配置 资源包名称命名规范:package_语言代码_国家代码.properties(固定的)。以此种命名方式的资源包能被该包及其子包中的动作类访问。 优先级:高于全局消息资源包
局部消息资源包(只为动作类服务) 资源包名称命名规范:动作类名称语言代码国家代码.properties。以此种命名方式的资源包,只为动作类服务。 优先级最高(就近原则)。 Struts2中资源包的搜索顺序:通过动作类访问jsp 自由指定读取资源包
