spring boot项目如何实现国际化
时间: 2023-12-04 08:03:52 浏览: 103
spring boot+JPA+easyUI 实现基于浏览器语言的国际化配置
5星 · 资源好评率100%
Spring Boot 提供了很好的国际化支持,您可以采用以下步骤:
1. 在 resources 目录下创建一个 messages 文件夹,然后创建 messages.properties 和 messages_en.properties 文件。其中 messages.properties 文件为默认的无法匹配的任何语言环境的文件。messages_en.properties 为英语环境下的文件。
2. 在 properties 文件中增加需要国际化翻译的字符串,例如:
```properties
greeting=欢迎, Welcome!
```
3. 在代码中使用 @Value 注解来获取字符串,在字符串中使用 { } 来引用对应的 properties 文件中的字符串。例如:
```java
@Value("${greeting}")
private String greeting;
```
4. 在代码中使用 LocaleResolver 将使用的 Locale 信息设置到 Request 上下文中,例如:
```java
@Bean
public LocaleResolver localeResolver() {
SessionLocaleResolver localeResolver = new SessionLocaleResolver();
localeResolver.setDefaultLocale(Locale.US); //默认为英语
return localeResolver;
}
```
5. 在 Controller 层的方法中返回 ModelAndView 时增加语言参数,例如:
```java
@RequestMapping(value = "/", method = RequestMethod.GET)
public ModelAndView index(HttpServletRequest request) {
Locale locale = localeResolver.resolveLocale(request);
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("index");
modelAndView.addObject("greeting", greeting);
return modelAndView;
}
```
6. 在 html 页面中使用 thymeleaf 的 i18n 标签来获取字符串,例如:
```html
<h1 th:text="#{greeting}"></h1>
```
这样就可以实现 Spring Boot 项目的国际化了,支持多种语言,前提是在 messages 文件夹下新增对应语言的 messages 文件即可。
阅读全文