尽管文件在类路径中,但找不到资源

时间:2019-09-24 11:01:17

标签: java spring apache-velocity

我已在我的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'

1 个答案:

答案 0 :(得分:1)

在您的情况下,您需要放入full path with template file

 VelocityEngineUtils.mergeTemplateIntoString(velocityEngine, "test.vm", "UTF-8", null);
相关问题