我已在我的spring 3.2.5.RELEASE应用程序中添加了Apache Velocity 1.7,以便将html转换为字符串并发送邮件。我的春季上下文定义如下:
<bean id="velocityEngine1" class="org.springframework.ui.velocity.VelocityEngineFactoryBean">
<property name="velocityProperties">
<props>
<prop key="resource.loader">class</prop>
<prop key="class.resource.loader.class">
org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader
</prop>
</props>
</property>
</bean>
我已经在src / main / resources文件夹中添加了文件test.vm。
下面是我使用引擎的地方:
@Autowired
@Qualifier("velocityEngine1")
private VelocityEngine velocityEngine;
public JSONResult uploadFile(MultipartFile file, AppUserDTO appUserDTO){
String body = VelocityEngineUtils.mergeTemplateIntoString(velocityEngine, "test", "UTF-8", null);
System.out.println(body);
...
}
执行方法VelocityEngineUtils.mergeTemplateIntoString
时出现异常:
org.apache.velocity.exception.ResourceNotFoundException: Unable to find resource 'test'
答案 0 :(得分:1)
在您的情况下,您需要放入full path with template file
VelocityEngineUtils.mergeTemplateIntoString(velocityEngine, "test.vm", "UTF-8", null);