Struts2对于国际化(i18n)的支持

Struts2对于国际化(i18n)的支持

	1,准备资源文件,资源文件的命名格式如下:
		baseName_language_country.properties (baseName:资源的基名,需要自定义/language:Java支持的语言/country:Java支持的国家/)
			eg:	中国大陆:baseName_zh_CN.properties
					美国:baseName_en_US.properties

		以下是为应用添加的两个资源文件
			第一个存放中文:jxn_zh_CN.properties
				内容为:welcom=欢迎来到中国
			第二个存放英文:jxn_en_US.properties
				内容为:welcome=welcome to America

	2,在struts.xml文件中配置全局资源 
		1,资源文件jxn_zh_CN.properties、jxn_en_US.properties放在WEB-INF/classes目录下,jxn为资源文件的基名
		2,struts.custom.i18n.resources常量把资源文件定义为全局资源文件,如下:
			<constant name="struts.custom.i18n.resource" value="jxn" />

	3,输出国际化信息
	
		1)在jsp页面中使用<s:text name="" />标签输出国际化信息。name为资源文件中的key
		2)在Action类中,可以继承ActionSupport,使用getText()方法得到国际化信息,该方法的第一个参数用来指定资源文件中的key	
		3)在表单标签中,通过key属性指定资源文件中的key,eg:<s:textfield name="" key=""/>
		
		举例说明:
			1)输出带占位符的国际化信息:
			
				资源文件中的内容:welcome={0}欢迎来到{1}
				
				jsp页面:	<s:text name="welcom">
								<s:param>jxn</s:param>
								<s:param>中国</s:param>
							</s:text>
				
				Action类中:使用getText(String key, String[] args)方法,第二个参数指定了占位符的值

			2)jsp页面中直接访问某个资源文件:
				Struts2为我们提供了<s:i18n>标签,使用<s:i18n>我们可以在类路径下直接从某个资源文件中获取国际化数据,而无需任何配置。
				<s:i18n name="jxn">
					<s:text name="welcome" />
				</s:i18n>
			
				如果要访问的资源文件在类路径的某个包下,可以这样访问:
				访问com.jxn.action包下基名为package的资源文件
				<s:i18n name="com/jxn/action/package">
					<s:text name="welcome">
						<s:param>张三</s:param>
					</s:text>
				</s:i18n>	

	4,资源文件的作用范围:全局资源文件、包范围资源文件、Action类的资源文件
		注:搜索顺序:Action类的资源文件、包范围资源文件、全局资源文件
	
		1)全局资源文件:放到WEB-INF/classes目录下
		2)包范围资源文件:放在某个包下,服务于该包及子包下的Action类。
				取名规范:package_language_country.properties
				注意:package是固定写法,这里并不是指包名
		3)Action类的资源文件:放在与该Action类相同的包中,仅仅服务于该Action类
				取名:Action类名_language_country.properties
	

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值