spring 设置web Locale 国际化对应

本文介绍如何在Spring中实现页面语言切换功能,通过自定义Locale来支持不同语言版本的内容展示,并提供了一个具体的示例代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天因程序要 做demo 的需要,研究以下spring message 机制,刚开始还以为 ResourceBundleMessageSource 只取page 的Local ,研读spring 的代码 后才发现是可以自定义Local,在网页切换语言时需要用到此功能,只需要设置一下。代码示例如下

设置代码

<%
 org.springframework.web.servlet.i18n.CookieLocaleResolver cookieLocaleResolver = new org.springframework.web.servlet.i18n.CookieLocaleResolver();
 String langCountry = request.getParameter("local");
 // "en_us";
 if ( langCountry != null)
 {
   java.util.StringTokenizer token = new java.util.StringTokenizer(langCountry,"_");
  String lang =  token.nextToken();
  String country = token.nextToken();
  java.util.Locale local = new  java.util.Locale (lang,country);
  cookieLocaleResolver.setLocale(request,response,local);
 }
 %>    

bean 的配置

<beans>
 <bean id="messageSource"  class="org.springframework.context.support.ResourceBundleMessageSource">
       <property name="basename" value="messages"/>
     </bean>
 
       <bean id="localeResolver" class="org.springframework.web.servlet.i18n.CookieLocaleResolver"/>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值