Apache Velocity是否支持递归搜索模板



速度配置

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

文件夹结构

  • 模板/
    • 顶级模板.vm
    • 电子邮件模板/
      • 电子邮件-1.vm
      • 电子邮件-2.vm
    • 网页模板/
      • 页面-1.vm
      • 第-1.vm页

代码段

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

如果templateName顶级模板.vm,则Velocity会找到该模板,但如果是email-1.vm或子目录中的任何其他模板,则Velocity将抛出ResourceNotFoundException

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

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

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

email-templates/email-1.vm

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

最新更新