如何在Spring Framework 3中的控制器内翻译文本?

时间:2010-05-04 11:46:52

标签: spring localization internationalization

我需要发送电子邮件确认,所以现在我必须本地化发送的消息。我已经在春天初始化了i18n,现在它在jsp页面中运行得很好,但是如何在我的控制器中使用它呢?

1 个答案:

答案 0 :(得分:46)

如果您使用带注释的控制器,您可以自动装配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();
    }
}