Spring 弹簧&x2B;Velocity Webapp资源加载
这真的很痛苦。我正在尝试将Spring配置为使用Velocity模板发送电子邮件。以下内容在我的场景中是不可接受的Spring 弹簧&x2B;Velocity Webapp资源加载,spring,velocity,Spring,Velocity,这真的很痛苦。我正在尝试将Spring配置为使用Velocity模板发送电子邮件。以下内容在我的场景中是不可接受的 将模板放入Jar中,并将其添加到类路径中 将模板放入WEB-INF/classes或WEB-INF/lib 我将Spring3.1.3与Tomcat6.x一起使用 问题是很多人都遇到了“org.apache.velocity.exception.ResourceNotFoundException:找不到资源‘emailBody.vm’”的问题 如果模板文件位于WEB-INF/tem
< bean id="velocityEngine" class="org.springframework.ui.velocity.VelocityEngineFactoryBean" >
< property name="velocityProperties">
< props>
< prop key="resource.loader">webapp</prop>
< prop key="webapp.resource.loader.class">org.apache.velocity.tools.view.WebappResourceLoader</prop>
< prop key="webapp.resource.loader.path">/WEB-INF/templates/</prop>
< /props>
< /property>
< /bean>
我也试着用编程的方式
velocityEngine.addProperty("resource.loader", "url");
velocityEngine.setProperty("url.resource.loader.class", "org.apache.velocity.runtime.resource.loader.URLResourceLoader");
velocityEngine.setProperty("url.resource.loader.root", "/WEB-INF/templates/");
你是如何引用它们的?@Sotirios我尝试了很多方法,但不确定正确的方法是什么。@Sotirios Delimanolis我将更新问题解压缩你的jar并检查模板是否在根文件夹或嵌套文件夹中。您可能必须引用完整路径。jar应该只在
WEB-INF/lib
@SotiriosDelimanolis抱歉Sotirios what.jar中。正如我提到的,在我的场景中,向jar中添加模板是不可接受的。我想让最终用户根据自己的需求更改模板文件,而他们不懂java来提取或创建jar文件。
velocityEngine.addProperty("resource.loader", "url");
velocityEngine.setProperty("url.resource.loader.class", "org.apache.velocity.runtime.resource.loader.URLResourceLoader");
velocityEngine.setProperty("url.resource.loader.root", "/WEB-INF/templates/");