尽管文件位于类路径中,但无法找到资源

我已将 Apache Velocity 1.7 添加到我的 spring 3.2.5.RELEASE 应用程序中,以便将 html 转换为字符串并发送邮件。我的 spring 上下文定义如下:


<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>

我已将文件 test.vm 添加到 src/main/resources 文件夹中。


下面的行是我使用引擎的地方:


   @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'


绝地无双
浏览 167回答 1
1回答

翻过高山走不出你

根据您的情况,您需要将完整路径与模板文件一起放置 VelocityEngineUtils.mergeTemplateIntoString(velocityEngine, "test.vm", "UTF-8", null);
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java