我正在尝试在我的 Spring MVC 站点中使用 Velocity 来模板电子邮件。我相信如果 Velocity 能找到我想要使用的模板,一切都会好起来的。我有一个模板/WEB-INF/emails/faultNotification.vm
。在我的代码中,我有这个:
MimeMessageHelper helper = new MimeMessageHelper (message, true);
helper.setTo (toAddresses);
helper.setSubject (subject);
Map<String, Object> model = new HashMap<> ();
model.put ("username", "nikitin");
model.put ("emailAddress", "nik.estep@gmail.com");
helper.setText (VelocityEngineUtils.mergeTemplateIntoString (
m_emailEngine,
"faultNotification.vm",
model), true);
helper.addAttachment (attachmentName,
new ByteArrayResource (attachment.toByteArray ()),
"application/zip");
m_sender.send (message);
在我的 XML 中,我有这个:
<bean id="velocityEngine" class="org.springframework.ui.velocity.VelocityEngineFactoryBean">
<property name="resourceLoaderPath" value="file:/WEB-INF/emails" />
</bean>
<bean id="emailSender" class="com.tarigma.gem.communication.EmailSender">
<constructor-arg ref="systemSettings" />
<constructor-arg ref="velocityEngine" />
</bean>
我一直在阅读我能找到的任何帖子,据我所知,这应该可以工作,但是当我去使用 Velocity 时找不到模板(ERROR VelocityEngine - ResourceManager: Unable to find resource 'faultNotification.vm' in any resource loader
)。我不想把模板放进去,/WEB-INF/classes
因为那不是那个文件夹里的东西,必须有办法让它工作。任何帮助将不胜感激,我昨天失去了所有试图解决这个问题的方法。