在Spring中处理I18N问题和使用Java里面的类基本上是一样的.使用org.springframework.context.support.ResourceBundleMessageSource
然后注入资源文件(一个名字为basename的属性),然后就可以在Context中使用资源文件了, 如下为一个配置示例: test.xml
<?
xml version = "1.0" encoding = "UTF-8" ?>
<!
DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "spring-beans.dtd" >
<
beans >
< bean id = "messageSource" class = "org.springframework.context.support.ResourceBundleMessageSource" >
< property name = "basename" >
<!-- 注意此处设置 资源 名字 和路径 -->
< value > test/i18n/test </ value >
</ property >
</ bean >
</
beans >
下面为资源文件 test.properties
name =
\u51B0\u96E8
sex =
\u5148\u751F
test_zh.properties
name =
\u51B0\u96E8
sex =
\u5148\u751F
test_en_US.properties
name =
ice rain
sex =
male
下面是一个简单的测试类:
package
test.i18n;
import
java.util.Locale;
import
org.springframework.context.ApplicationContext;
import
org.springframework.context.support.ClassPathXmlApplicationContext;
public
class TestI18n { /**
* @param args
*/
public static void main(String[] args) { // TODO Auto-generated method stub
ApplicationContext context =
new ClassPathXmlApplicationContext( "test/i18n/test.xml" );
String text = context.getMessage(
"sex" , new Object[0], Locale. US );
String textZH = context.getMessage(
"sex" , new Object[0], Locale. CHINA );
System.
out .println(text + " 中文:" +textZH);
}
}
很简单,这样就可以了.
分享到:
相关推荐
这个“Spring Boot 国际化(i18n)配置demo.zip”包含了一个演示如何在Spring Boot项目中实现i18n的示例。通过这个例子,你可以了解到如何创建资源文件、配置消息源以及如何在控制器和视图中使用这些资源。 首先,...
4. **MVC中的i18n**:在Spring MVC中,可以通过`@ControllerAdvice`和`@ExceptionHandler`注解全局处理异常,并结合`MessageSource`获取本地化的错误消息。另外,`@RequestMapping`中的`produces`属性可以指定返回...
i18n(国际化)是指在设计软件时考虑到全球不同地区的用户需求,使其能够根据用户的选择显示不同的语言。这里的“18”代表“international”的18个字母,n代表“n”,使得整个缩写为“i18n”。 ### 2. SpringMvc ...
在本章中,我们将深入探讨Spring MVC框架中的国际化支持,简称i18n。这个功能使得应用程序能够根据用户的地域设置显示不同的语言内容,为全球用户提供更友好的用户体验。Spring MVC通过资源绑定和消息源机制实现了这...
在这个例子中,`basenames`参数指定了资源文件的基名,这里我们有两个文件夹`i18n/messages`和`i18n/other_messages`,Spring Boot会在这些文件夹下寻找对应的本地化文件。 此外,我们可以进一步优化用户体验,允许...
国际化(Internationalization,通常缩写为i18n)是指软件能够适应不同语言和地区的功能。具体到Web应用,国际化允许网站展示不同语言的内容,以满足不同国家用户的阅读习惯。本文将详细介绍如何在Java SpringMVC...
Spring框架是Java开发中广泛使用的轻量级框架,它的国际化(Internationalization,简称i18n)功能使得应用程序能够根据用户的地区和语言偏好提供本地化的信息和服务。在本项目"spring国际化项目"中,我们将深入探讨...
在涉及多语言环境的应用程序中,Spring MVC 提供了国际化(i18n)支持,使得开发支持多种语言的Web应用变得更加便捷。下面将详细介绍Spring MVC 实现国际化的基本原理和步骤。 首先,国际化的核心是资源文件...
在3.1.0版本中,Spring引入了`Resource`接口,简化了对各种资源(如文件、URL、类路径资源等)的处理。同时,`ResourceHttpRequestHandler`类使得静态资源的处理变得更加便捷。 7. **异步处理与任务调度**: ...
<bean id="localeResolver" class="org.springframework.web.servlet.i18n.CookieLocaleResolver"> <property name="cookieMaxAge" value="604800" /> <!-- 1 week --> ``` 这样,当用户更改语言选择时,...
<bean id="localeChangeInterceptor" class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor"> ``` 4. **配置`LocaleResolver`**:`SessionLocaleResolver`用于从用户的会话中获取当前的...
在Java中,我们通常使用Java国际化框架(Java Internationalization Framework)来处理这个问题。 1. **资源束(Resource Bundle)**:这是Java i18n的核心,它是一组按语言或地区组织的文本字符串和其他资源。每个...
Spring MVC的`MessageSource`接口和其实现如`ReloadableResourceBundleMessageSource`可以用来加载和管理资源文件,方便地将国际化文本注入到视图模板或控制器中。 除此之外,现代Java开发还引入了模块化系统...