springMVC_国际化

1.springMVC对页面固定文本信息的国际化展示

2.springMVC对后台注解验证的返回信息国际化显示

3.springMVC对系统数据类型的验证的错误信息国际化显示

一.XXXServlet.xml

<!-- 配置mvc拦截器 -->
		<mvc:interceptors>
			<mvc:interceptor>
				<mvc:mapping path="/**"/>
				<ref bean="localeChangeInterceptor"/>
			</mvc:interceptor>
		</mvc:interceptors>
		
		<!-- 配置国际化拦截器 -->
		<bean id="localeChangeInterceptor"
			class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor">
			<property name="paramName" value="lang" />
		</bean>
		
		<!-- spring 加载资源文件-->
		<!-- 可以不重启服务器,读取资源文件 -->
		<bean id="messageSource"
			class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
			<property name="defaultEncoding" value="UTF-8"></property>
			<property name="basenames">
				<list>
					<!-- 页面信息国际化 -->
					<value>/WEB-INF/classes/messages/messages</value>
					<!-- 类型不匹配国际化 -->
					<value>/WEB-INF/classes/mismatch/mismatch</value>
					<!-- 后台验证国际化 -->
					<value>ValidationMessages</value>
				</list>
			</property>
			<property name="cacheSeconds" value="-1"/>
		</bean>
		
		<!-- cookie国际化 -->
		<bean id="localeResolver"
			class="org.springframework.web.servlet.i18n.CookieLocaleResolver">
			<property name="defaultLocale" value="zh" />
			<property name="cookieMaxAge" value="-1" />
		</bean>		

配置文件结构如下图所示:


关于以上配置信息注意一下几点:

1.需要将国际化拦截器加到mvc拦截器中,这样所有请求才会进行国际化处理

2.对于国际化文件的加载目录,与项目发布到服务器中的路径相关,除了后台验证时默认的ValidationMessages

3.这里使用的是cookieLocalResolver,没有使用sessionLocalResolver,AcceptHeaderLocaleResolver,因为可能会出现Cannot change HTTP accept header - use a different locale resolution strategy


jsp页面配置:

1.页面信息

<spring:message code="message.hello.register.date"/>

2.验证错误信息返回

<form:errors path="date"/>

Cannot change HTTP accept header - use a different locale resolution strategy

需要重写AcceptHeaderLocaleResolver类,具体不做演示。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值