gpt4 book ai didi

java - 未找到速度模板

转载 作者:行者123 更新时间:2023-12-02 00:11:27 24 4
gpt4 key购买 nike

我正在尝试在 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 找不到模板(错误 VelocityEngine - ResourceManager:无法找到资源“faultNotification” .vm' 在任何资源加载器中)。我不想将模板放在 /WEB-INF/classes 中,因为这不是该文件夹中的内容,并且必须有一种方法可以使其工作。任何帮助将不胜感激,我昨天失去了所有的努力来解决这个问题。

最佳答案

只要您的 war 不是以分解形式部署,就没有适合您的文件 URL。我会尝试配置:

http://velocity.apache.org/tools/devel/javadoc/org/apache/velocity/tools/view/WebappResourceLoader.html

代替文件资源加载器并使用从 war 根开始的完整路径

关于java - 未找到速度模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12748823/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com