我正在使用速度引擎模板在struts1和hibernate配置中进行邮件发送。
我在尝试发送邮件时遇到错误:org.apache.velocity.exception.ResourceNotFoundException
。
我已经包含了velocity1.5.jar,mail.jar,activation.jar,smtp.jar。
我在这里包含了速度模板路径
String velocityTemplate = "mailTemplate/sendMail.vm";
并且mailTemplate文件夹位于WEB-INF/classes
文件夹
代码执行此行时出现错误
Template template = velocityEngine.getTemplate(velocityTemplate);
任何人都可以帮我解决这个问题吗?
如果有人帮助我,那将会更加明显。
答案 0 :(得分:5)
正如BenM所说,我们必须将Resource Loader配置为ClasspathResourceLoader
velocityEngine.setProperty("resource.loader", "class");
velocityEngine.setProperty("class.resource.loader.class", "org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader"));
velocityEngine.init();
我刚刚添加了以下jar的最新版本。现在它正常运作。
- >公地集合-3.2.1.jar
- >公地琅-2.4.jar
再次感谢BenM
答案 1 :(得分:1)
确保已在VelocityEngine上调用init()。
检查您是否已将Resource Loader配置为ClasspathResourceLoader。有关详细信息,请参阅Velocity docs。
对于旧版Velocity课程,您需要执行以下操作:
Velocity.setProperty("resource.loader", "class");
Velocity.init();
答案 2 :(得分:0)
正在努力解决同样的问题,最终解决了它。