Как я могу перевести текст внутри контроллера в Spring Framework 3? - PullRequest
22 голосов
/ 04 мая 2010

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

1 Ответ

46 голосов
/ 04 мая 2010

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

@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();
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...