使用ApacheVelocity包含类路径中的模板



Velocity尝试使用#parse指令时,我得到了一个ResourceNotFound异常(#include也得到了同样的结果)。我知道我的ClassPathResourceLoader配置正确,因为如果我删除#parse指令,模板就会呈现良好的效果。我试图包含的模板与正确渲染的模板在同一个jar文件中,所以这也不是位置问题。

我从Velocity文档中了解到,模板必须在TEMPLATE_ROOT中,并且您还可以注册FileResourceLoaderClasspathResourceLoader。我两种都试过了,但都无济于事。

我很难相信你不能把#include#parseClasspathResourceLoader一起使用,但我已经试过了我能想到的一切。非常感谢您的帮助。

或者,您可以将以下内容添加到velocity.properties以启用相对路径:

eventhandler.include.class = org.apache.velocity.app.event.implement.IncludeRelativePath

好的,我开始工作了。即使#parse指令中包含的其他模板文件与包含#parse指令的模板在同一目录中,我也需要向它们添加路径(相对于jar文件的根)。

最新更新