本帖最后由 大山哥哥 于 2017-1-19 20:14 编辑
1. Struts中的国际化1、Struts2中使用国际化的前提首先,我们要知道,在Struts2中,所有的消息提示都是基于国际化的。 其次,要想在Struts2中使用国际化,动作类必须继承ActionSupport类。 2、配置资源包优先级最高(就近原则)。2.1配置全局资源包命名规范:主要文件名_语言代码_国家代码.properties 实例:
在struts配置文件中加入以下配置 <!-- name:struts中default.properties文件常量里 value:是国际化资源包的 包名+基本文件名 --> <constant name="struts.custom.i18n.resources" value="i18n.message"/> | 在jsp中使用 <!-- s:text :如果经过动作类到达该页面,并且配置了动作类范围的资源包,则显示动作类资源包的值,否则,显示全局范围的资源包的值 --> <s:text name="username"/> |
2.2配置包范围的资源包资源包名称命名规范:package_语言代码_国家代码.properties(固定的)。以此种命名方式的资源包能被该包及其子包中的动作类访问。 实例:资源文件位置
在jsp中使用包范围的国际化资源 <!-- s:i18n :指定包范围的文件位置, 包名+package s:text :指定资源的key --> <s:i18n name="com.fei.package"> <s:text name="username"/> </s:i18n> |
2.3局部消息资源包(只为动作类来使用的)源包名称命名规范:动作类名称_语言代码_国家代码.properties。以此种命名方式的资源包,只为动作类服务。 实例:资源文件位置
Jsp中使用 <!-- 方式一 s:text :如果经过动作类到达该页面,并且配置了动作类范围的资源包,则显示动作类的值,否则,显示全局范围的资源包的值 --> <s:text name="username"/><br> <!-- 方式二 s:i18n :指定动作类范围的文件位置, 包名+package s:text :指定资源的key --> |
|