spring i18n 国际化配置
时间: 2024-06-18 21:04:21 浏览: 100
Spring框架提供了很好的国际化(i18n)支持,其核心是ResourceBundleMessageSource类,这个类实现了MessageSource接口,可以通过其提供的方法获取国际化的消息文本。国际化配置包含以下步骤:
1. 在Spring配置文件中配置ResourceBundleMessageSource Bean。
2. 创建属性文件,包含不同语言版本的消息文本。
3. 在JSP页面或者Java代码中使用MessageSource获取对应语言版本的消息文本。
具体操作如下:
1. 在Spring配置文件中添加如下配置:
```
<bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource">
<property name="basename" value="messages"/>
</bean>
```
basename属性指定了消息文件的基础名称,这里的值是“messages”,表示消息文件名为“messages.properties”(默认语言)和“messages_zh_CN.properties”(中文语言)。
2. 创建消息文件。
在classpath下创建一个名为“messages.properties”的文件,内容如下:
```
message.hello=Hello, World!
```
然后在同一个目录下创建一个名为“messages_zh_CN.properties”的文件,内容如下:
```
message.hello=你好,世界!
```
这里我们定义了一个名为“message.hello”的消息文本,分别提供了英文和中文两种语言版本。
3. 在JSP页面或者Java代码中使用MessageSource获取对应语言版本的消息文本。
在JSP页面中,可以使用spring:message标签获取消息文本:
```
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
<spring:message code="message.hello"/>
```
在Java代码中,可以注入MessageSource,并使用其getMessage方法获取消息文本:
```
@Autowired
private MessageSource messageSource;
String message = messageSource.getMessage("message.hello", null, Locale.getDefault());
```
阅读全文