如下四步
1 建资源文件
2 在yml文件中指定资源文件名称
3 自定义类型转换,转换locale
@Configuration
public class DefaultLocaleResolver implements LocaleResolver {@Overridepublic Locale resolveLocale(HttpServletRequest request) {String loc=request.getParameter("loc");if (!StringUtils.hasLength(loc)){return Locale.getDefault();}String[] s = loc.split("_");return new Locale(s[0],s[1]);}@Overridepublic void setLocale(HttpServletRequest request, HttpServletResponse response, Locale locale) {}@Beanpublic LocaleResolver localeResolver(){return new DefaultLocaleResolver();}
}
4 controller中使用
@RestController
@RequestMapping("i18n")
public class I18nController {@Autowiredprivate MessageSource messageSource;@RequestMapping("getName")public Object getName(Locale loc){String name = messageSource.getMessage("name", null, loc);return name;}
}