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

时间:2018-07-29 05:29:09

标签: java apache velocity

速度配置

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

文件夹结构

  • 模板/
    • top-level-template.vm
    • 电子邮件模板/
      • 电子邮件-1.vm
      • 电子邮件-2.vm
    • webpage-templates /
      • page-1.vm
      • page-1.vm

代码段

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

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

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

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

1 个答案:

答案 0 :(得分:0)

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

 email-templates/email-1.vm

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