1.调用的工具类:
/**
工具类
**/
public class InternationalizationUtil {
private static ApplicationContext ctx = new ClassPathXmlApplicationContext("classpath:applicationContext-i18n.xml");
private static MessageSourceAccessor messageSourceAccessor;
static {
MessageSource messageSource = (MessageSource)ctx.getBean("resourceBundleMessageSource");
messageSourceAccessor = new MessageSourceAccessor(messageSource);
}
public static String getTextWithLanguage(String msgKey, String language) {
Locale locale = StringUtils.isEmpty(language) ? Locale.forLanguageTag(BizConstants.DEFAULT_LANGUAGE)
: Locale.forLanguageTag(language);
return getText(msgKey, locale);
}
public static String getTextWithLanguage(String msgKey, String args, String language) {
Locale locale = StringUtils.isEmpty(language) ? Locale.forLanguageTag(BizConstants.DEFAULT_LANGUAGE)
: Locale.forLanguageTag(language);
return getText(msgKey, args, locale);
}
/**
* Convenience method for getting a i18n key's value.
* @param msgKey
* @return
*/
public static String getText(String msgKey) {
return getText(msgKey, getLocale());
// return getText(msgKey, Locale.getDefault());
}
/**
* Convenience method for getting a i18n key's value.
*
* @param msgKey
* @param locale
* @param local the current locale
* @return
*/
public static String getText(String msgKey, Locale locale) {
return getMessageSourceAccessor().getMessage(msgKey, locale);
}
/**
* Convenient method for getting a i18n key's value with a single string
* argument.
*
* @param msgKey
* @param arg
* @param local the current locale
* @return
*/
public static String getText(String msgKey, String arg) {
return getText(msgKey, new Object[] { arg }, getLocale());
// return getText(msgKey, new Object[] { arg }, Locale.getDefault());
}
/**
* Convenient method for getting a i18n key's value with a single string
* argument.
*
* @param msgKey
* @param arg
* @param locale
* @return
*/
public static String getText(String msgKey, String arg, Locale locale) {
return getText(msgKey, new Object[] { arg }, locale);
}
/**
* Convenience method for getting a i18n key's value with arguments.
*
* @param msgKey
* @param args
* @param locale
* the current locale
* @return
*/
public static String getText(String msgKey, Object[] args, Locale locale) {
return getMessageSourceAccessor().getMessage(msgKey, args, locale);
}
public static String getText(String msgKey,Object[] args,String language){
Locale locale = StringUtils.isEmpty(language) ? Locale.forLanguageTag(BizConstants.DEFAULT_LANGUAGE): Locale.forLanguageTag(language);
return getText(msgKey,args,locale);
}
public static MessageSourceAccessor getMessageSourceAccessor() {
return messageSourceAccessor;
}
private static Locale getLocale() {
HttpServletRequest request = getHttpServletRequest();
LocaleResolver localeResolver = RequestContextUtils.getLocaleResolver(request);
return localeResolver.resolveLocale(request);
}
private static HttpServletRequest getHttpServletRequest() {
ServletRequestAttributes servletRequestAttributes = (ServletRequestAttributes) RequestContextHolder
.getRequestAttributes();
if (servletRequestAttributes != null) {
return servletRequestAttributes.getRequest();
} else {
return null;
}
}
}
2.配置文件
<!-- 资源国际化 -->
<bean id="resourceBundleMessageSource"
class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
<property name="basenames">
<list>
<value>classpath:i18n/errors</value>
<value>classpath:i18n/messages</value>
</list>
</property>
<property name="useCodeAsDefaultMessage" value="true" />
<property name="defaultEncoding" value="utf8"></property>
</bean>
相关推荐
在这个"springMVC国际化登陆整合"项目中,我们将探讨SpringMVC如何与国际化(i18n)相结合,以及登录功能的实现。 1. **SpringMVC的国际化配置**: - 在SpringMVC项目中,国际化主要通过MessageSource接口实现,它...
国际化(i18n)是任何应用都需要考虑的重要功能,它允许应用程序为不同的地区和语言提供定制的显示内容。在Spring MVC中实现国际化,我们可以利用Spring提供的`MessageSource`接口和资源文件来实现。 首先,我们...
在这个"springmvc国际化demo"中,我们将探讨如何实现Web应用的国际化,让应用能够支持多种语言环境,提升用户体验。国际化(i18n)是软件设计的一个重要方面,它允许程序根据用户的地区或语言设置来显示相应的文本...
### SpringMVC国际化配置详解 #### 一、国际化概念及意义 **国际化(Internationalization)**,简称i18n,是指设计软件时使产品能够适应不同国家或地区的语言文化需求,而无需进行代码级别的修改。这对于全球化的...
09SpringMVC国际化.md
sping.ftl springmvc国际化文件
在SpringMVC中实现国际化是提升应用用户体验的重要手段,特别是对于全球化的网站和服务来说。本文将详细介绍SpringMVC如何实现国际化,并探讨`propedit_5.3.3`这个工具在其中的作用。 首先,我们需要理解国际化...
总的来说,SpringMVC通过`MessageSource`、资源文件以及`spring:message`标签提供了完善的国际化支持。开发者只需要根据项目需求配置资源文件,设置`MessageSource`,并在Controller和视图中适当地使用,就可以轻松...
在SpringMVC框架中,实现国际化资源配置是提升用户体验的关键步骤,尤其对于多语言网站来说。这个Demo将向我们展示如何在SpringMVC项目中配置和使用国际化资源文件,以适应不同地区的用户需求。首先,我们需要了解...
二、SpringMVC国际化实现步骤 1. **创建资源文件** 在SpringMVC项目中,我们需要创建两个或更多的.properties文件,分别代表不同的语言。例如,对于英语和简体中文,我们可以创建`messages_en.properties`和`...
Springmvc国际化自动配置代码实现 Springmvc国际化自动配置代码实现是指在Springmvc框架中实现国际化自动配置的方法和技术。国际化自动配置代码实现是指在Springmvc应用程序中,根据客户端的请求自动地选择适合的...
【SpringMVC】面向全球的用户,我们该怎么办,这篇文章的源码分享出来
国际化(Internationalization,通常缩写为i18n)是软件开发中的一个重要概念,它使得应用程序可以适应不同的语言和地区设置。在Web应用中,Spring MVC框架结合JavaScript技术可以有效地实现基于Session的国际化,...
Spring MVC 国际化实现详解 在 Spring MVC 框架中,实现国际化是...基于浏览器语言的国际化配置可以实现客户浏览器语言国际化,而基于动态加载的国际化配置可以实现基于请求的国际化配置或基于 Session 的国际化配置。
在Spring MVC框架中,实现国际化是一项重要的功能,它允许应用程序为不同的地区和语言提供本地化的显示内容。本实例将向您展示如何轻松配置Spring MVC以支持国际化。首先,我们需要了解几个核心概念: 1. **资源...
Spring MVC的国际化(Internationalization)指的是将应用根据不同地域、语言习惯以及文化差异进行本地化的过程。这涉及了软件应用对多语言的支持,以便不同区域的用户能够以自己的母语使用软件。Spring MVC提供了...
SpringMVC是Java开发中广泛使用的Web MVC框架,它提供了强大的功能,包括对国际化(i18n)的支持。本文将深入探讨如何在SpringMVC中实现国际化,帮助开发者为全球用户提供适应不同语言环境的应用。 **1. 语言解析器...
本指南提供了 SpringMVC 的核心思想、框架特点、入门示例、参数传递、标签介绍、拦截器、类型转换、JSON 格式数据的输入和输出、文件上传、国际化和本地化、验证等方面的知识点,旨在帮助开发者快速掌握 SpringMVC ...
#### 一、SpringMVC国际化(Internationalization, i18n) **1.1 国际化的概念** 国际化的目的是使应用程序能够适应不同的语言和地区设置,以便用户能够在自己的语言环境中使用应用程序。对于Web应用而言,国际化...
在SpringMVC框架中实现国际化、文件上传和下载功能是开发面向多语言用户的Web应用时常见的需求。以下从国际化、上传和下载三个部分详细阐述知识点。 国际化部分: 1. 国际化(I18N)在Web应用中是至关重要的,它能...