首页 > 解决方案 > Apache Velocity 是否支持递归搜索模板?

问题描述

速度配置

resource.loader = file
file.resource.loader.class = 
org.apache.velocity.runtime.resource.loader.FileResourceLoader
file.resource.loader.path = /path/to/templates

文件夹结构

代码片段

Velocity.mergeTemplate(templateName, "UTF-8", context, writer);

如果templateNametop-level-template.vm则 Velocity 会找到模板,但是如果它是email-1.vm或子目录中的任何其他模板,则 Velocity 会抛出ResourceNotFoundException

我希望能够指定存储我的模板的根目录的路径,并让 Velocity 找到子目录下的所有模板。

是否有一些配置或ResourceLoader支持递归查找模板?

标签: javaapachevelocity

解决方案


如果您的结构使用子目录,只需在路径中使用它

 email-templates/email-1.vm

如果您在不同的子文件夹中具有相同的文件名,那么header.vm您建议的方法将失败


推荐阅读