(Даже если пост старый, надеюсь, это может быть полезно для других)
В конфигурации servlet-context.xml мы объявляем bean:
<beans:bean id="messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
<beans:property name="basename" value="/WEB-INF/locale/messages" />
<beans:property name="defaultEncoding" value="UTF-8" />
</beans:bean>
Затем в контроллеремы автоматически подключаем источник сообщения:
@Controller
public class SomeCtrl {
@Autowired
private MessageSource messageSource;
...
Наконец, в действии мы можем использовать локаль (добавив формальный параметр локали и используя сообщение):
@RequestMapping(value="/doLogin", method=RequestMethod.POST)
@ResponseBody
public String tryLogin(
@ModelAttribute("loginBean") LoginBean loginBean,
BindingResult result, SessionStatus status,
Locale locale) {
....
....
String generalErrorMsg = messageSource.getMessage("login.generalError",new Object[] {}, locale);
....
....