Подтвердить что ты не робот

Как преобразовать текст внутри контроллера в Spring Framework 3?

Мне нужно отправить подтверждение по электронной почте, так что теперь мне нужно локализовать отправленное сообщение. Я инициализировал i18n в spring, и теперь он отлично работает на jsp-страницах, но как я могу использовать его в своих контроллерах?

4b9b3361

Ответ 1

Если вы используете аннотированные контроллеры, вы можете autowire MessageSource и добавить локаль запроса следующим образом:

@Controller
@Scope("request")
public class MailController
{
    @Autowired
    private MessageSource messageSource;

    @RequestMapping(value = "/mail/send", method = RequestMethod.GET)
    public ModelAndView sendEmail(Locale locale)
    {
        String[] args = { "Mr.", "X" };
        // E.g. message.code="Dear {0} {1}"
        String mailmessage = messageSource.getMessage("message.code", args, locale);
        // Do something
        return new ModelAndView();
    }
}