1

我已将 Apache Velocity 1.7 添加到我的 spring 3.2.5.RELEASE 应用程序中,以便将 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'
4

1 回答 1

1

在您的情况下,您需要使用模板文件放置完整路径

 VelocityEngineUtils.mergeTemplateIntoString(velocityEngine, "test.vm", "UTF-8", null);
于 2019-09-24T12:02:46.390 回答