spring mvc i18n设置
来源:互联网 发布:java创建字符串数组 编辑:程序博客网 时间:2024/06/06 02:06
在实际的生产环境中,我们经常会使用国际化,我们使用spring mvc设置i18n。
spring-mvc.xml
<!-- 国际化支持 --><mvc:interceptors> <!-- 国际化操作拦截器 如果采用基于(请求/Session/Cookie)则必需配置 --> <bean class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor" /> </mvc:interceptors> <bean id="localeResolver" class="org.springframework.web.servlet.i18n.SessionLocaleResolver" /> <bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource"> <property name="basenames"> <list> <value>/config/i18n/system</value> <value>/config/i18n/messages</value> <value>/config/i18n/model</value> </list> </property> <property name="useCodeAsDefaultMessage" value="true"/> <property name="cacheSeconds" value="5"/><!-- 资源刷新间隔时间 --> </bean>
Controller代码
/** * 设置当前session的语言 * [zh/en] * @param request * @return */protected void setSessionLocal(HttpServletRequest request,String langType){ Locale locale; if(langType.equals("zh")){ locale = new Locale("zh", "CN"); request.getSession().setAttribute(SessionLocaleResolver.LOCALE_SESSION_ATTRIBUTE_NAME,locale); } else if(langType.equals("en")){ locale = new Locale("en", "US"); request.getSession().setAttribute(SessionLocaleResolver.LOCALE_SESSION_ATTRIBUTE_NAME,locale); } else { locale=LocaleContextHolder.getLocale(); request.getSession().setAttribute(SessionLocaleResolver.LOCALE_SESSION_ATTRIBUTE_NAME,LocaleContextHolder.getLocale()); } //设置session_locale request.getSession().setAttribute(CwsConstants.SESSION_LOCALE_KEY, CwsUtils.isNotNull(langType)?langType:CwsConstants.SESSION_LOCALE_KEY_DEFALUT);}/** * 是否已经设置语言参数 * @param request * @return */protected boolean isSetSessionLocal(HttpServletRequest request){ HttpSession session =request.getSession(); Locale local =(Locale) session.getAttribute(SessionLocaleResolver.LOCALE_SESSION_ATTRIBUTE_NAME); String langType = (String) session.getAttribute(CwsConstants.SESSION_LOCALE_KEY); if(CwsUtils.isNotNull(langType) && local!=null){ return true; }else{ return false; }}/** * 获取值从i18n中 * @param request * @return */protected final String getI18nValue(HttpServletRequest request,String key){ RequestContext requestContext = new RequestContext(request); return requestContext.getMessage(key);}/** * 获取当前local值,主要用于菜单国际化[en/zh] * @param request * @return */protected final String getI18nLocale(HttpServletRequest request){ HttpSession session =request.getSession(); Locale local =(Locale) session.getAttribute(SessionLocaleResolver.LOCALE_SESSION_ATTRIBUTE_NAME); String langType = (String) session.getAttribute(CwsConstants.SESSION_LOCALE_KEY); if(CwsUtils.isNotNull(langType) && local!=null){ return langType; }else return CwsConstants.SESSION_LOCALE_KEY_DEFALUT;}
0 0
- spring mvc i18n设置
- spring mvc i18n+freemarker
- spring MVC I18N使用
- 如何实现 Spring MVC i18n 国际化,动态设置默认语言
- 《Spring MVC I18N 配置说明》
- Spring MVC +i18n实现国际化
- Spring MVC I18N 国际化配置
- 关于Spring MVC I18N 的配置问题
- spring mvc annotation and i18n configure
- spring i18n
- i18n设置
- Spring 的MVC I18N-国际化相关配置
- Spring 的MVC I18N-国际化相关配置
- [Note]Spring MVC、hibernate validator和i18n(一)
- [Note]Spring MVC、hibernate validator和i18n(二)
- [Note]Spring MVC、hibernate validator和i18n(三)
- [Note]Spring MVC、hibernate validator和i18n(四)
- Spring 的MVC I18N-国际化相关配置
- java list三种遍历方法性能比较
- 如何打造真正可动态扩展的服务架构
- 本期介绍SBJson的用法,收集。
- mysql临时表
- hibernate4.0+springMVC+shoir时报错javax.persistence.OneToMany.orphanRemoval()Z
- spring mvc i18n设置
- Android 监听scrollview滚动实现ToolBar显示和隐藏的效果
- ShareSDK 第三方分享
- 8_5 print exit status
- gtk dialog
- linux+FreeRadius+mysql+Apache安装搭建过程
- 创建 userSettings/Microsoft.SqlServer.Configuration.LandingPage.Properties.Settings 的
- Docker 会取代虚拟机吗?
- 替代mmm方案的mariadb galera cluster和percona xtradb cluster的简介