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项目,项目中使用了从jeesite项目的UI界面,国际化配置,参考了网上的很多资料,再次非常感谢前辈们
SpringMVC实现国际化/多语言项目,具体内容参考http://blog.csdn.net/u013360850/article/details/70860144
SpringMVC国际化的编缉器
NULL 博文链接:https://814318774.iteye.com/blog/2246802
09SpringMVC国际化.md
sping.ftl springmvc国际化文件
基于SpringMVC国际化资源配置方式Demo 详细参考:http://blog.csdn.net/stemq/article/details/53141004
用springmvc做的一个国际化小例子,包含如何在页面和java代码中获取国际化资源
【SpringMVC】面向全球的用户,我们该怎么办,这篇文章的源码分享出来
国际化是设计软件应用的过程中应用被使用与不同语言和地区 国际化通常采用多属性文件的方式解决,每个属性文件保存一种语言的文字信息, 不同语言的用户看到的是不同的内容
看了好多资料后整理的springMVC国际化,内容为亲测可用的eclipse项目,直接import即可。 页面点击后可以切换中文和英文两种国际化信息,可以再追加其他语言。
SpringMvc+JS实现基于session的国际化 提供整体实现原理,配置参数,以及前台如何切换
springmvc配置国际化实例,超简单,下载即可用,欢迎下载
主要介绍了Springmvc国际化自动配置代码实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
主要介绍了浅谈SpringMVC国际化支持,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
使用SpringMVC实现国际化的具体步骤和基本原理
采用spring技术 实现项目中英文切换 国际化
springmvc 实现i18n国际化+freemarker小实例demo 亲测有用
Spring MVC 国际化的配置方法及使用,希望能对大家的学习、工作有帮助。
本篇文章主要介绍了学习SpringMVC——国际化+上传+下载,小编觉得挺不错的,现在分享给大家,也给大家做个参考。