为什么LemonUtil.getMessage()不能替换变量?

时间:2016-06-13 03:19:00

标签: spring spring-mvc spring-boot spring-lemon

在Spring Lemon的注册过程中,我试图发送验证邮件。 我已将 messages_en.properties messages_fr.properties 放在我的resources文件夹中。 以下是 messages_en.properties

的相关内容
com.naturalprogrammer.spring.verifyEmail: Hi,<br/><br/>Your email id at XYZ is unverified. Please click the link below to get verified:<br/><br/>{0}<br/><br/>

但是,当我查看日志时,它会发送邮件,而不会通过verifyLink替换 {0}

我查看了代码并发现LemonService的这部分是isse:

            // send the mail
        mailSender.send(user.getEmail(),
            LemonUtil.getMessage("com.naturalprogrammer.spring.verifySubject"),
            LemonUtil.getMessage(
                "com.naturalprogrammer.spring.verifyEmail", verifyLink));

但实际的工作是通过LemonUtil.java中的代码完成的:

                /**
 * Gets a message from messages.properties
 * 
 * @param messageKey    the key of the message
 * @param args          any arguments
 */
public static String getMessage(String messageKey, Object... args) {

    // http://stackoverflow.com/questions/10792551/how-to-obtain-a-current-user-locale-from-spring-without-passing-it-as-a-paramete
    return messageSource.getMessage(messageKey, args,
            LocaleContextHolder.getLocale());
}

我设法通过删除.properties中的{0}以及通过自己添加链接来解决它:

            // send the mail
        mailSender.send(user.getEmail(),
            LemonUtil.getMessage("com.naturalprogrammer.spring.verifySubject"),
            LemonUtil.getMessage(
                "com.naturalprogrammer.spring.verifyEmail", verifyLink) + verifyLink);

我认为 org.springframework.context.MessageSource getMessage 方法无法正常工作。 我的问题是:什么可以阻止 messageSource 工作?

0 个答案:

没有答案