我使用Spring MVC的我的web应用程序,我用我的的applicationContext.xml 文件来配置我的电子邮件,我很注入到我的控制器在我spring-servlet.xml文件。配置动态电子邮件内容与替换字符串()或的replaceAll()
我需要发送的一些电子邮件需要根据客户的需求定制。一旦电子邮件文本被注入控制器并发送,电子邮件中的某些信息(名字,姓氏,电话号码等)将需要填写。
这方面的一个例子显示在下面豆
<bean id="customeMailMessage" class="org.springframework.mail.SimpleMailMessage">
<property name="from" value="[email protected]" />
<property name="to" value="[email protected]" />
<property name="subject" value="Testing Subject" />
<property name="text">
<value>
Dear %FIRST_NAME%
Blah Blah Blah Blah Blah...
We Understand that we can reach you at the following information
Phone:%PHONE%
Address:%ADDRESS%
</value>
</property>
</bean>
这将是我会定义并注入到我的控制器自定义的电子邮件。然后在我的控制器中的代码将填补基于从客户收集的输入值,所以控制器将有类似于以下
//SimpleMailMessage property is injected into controller
private SimpleMailMessage simpleMailMessage;
//Getters and Setters for simpleMailMessage;
MimeMessage message = mailSender.createMimeMessage();
try{
MimeMessageHelper helper = new MimeMessageHelper(message, true);
helper.setFrom(simpleMailMessage.getFrom());
helper.setTo(simpleMailMessage.getTo());
helper.setSubject(simpleMailMessage.getSubject());
String text = simpleMailMessage.getText();
text.replace("%FIRST_NAME%",model.getFirstName());
text.replace("%PHONE%",model.getPhone());
text.replace("%ADDRESS%",model.getAddress());
helper.setText(simpleMailMessage.getText());
}
catch (MessagingException e) {
throw new MailParseException(e);
}
mailSender.send(message);**strong text**
我遇到的问题是代码,当我尝试更换值例如%FIRST_NAME%,%PHONE%和%ADDRESS%>,它并不代替它。我不确定这是因为我使用replace()错误,还是因为它是以不同的方式处理它,因为值被注入。我也尝试使用replaceAll(),那也不工作。如果有人有更好的想法如何做到这一点,请让我知道。
谢谢
我继续整合Velocity模版库,它的伟大工程 – TheJediCowboy 2010-10-18 03:02:51