freemarker - 在freemarker中是否可以在包含文件之前检查文件是否存在?

标签 freemarker

我们正在尝试在 freemarker 中构建一个系统,其中可以选择性地添加扩展文件来替换标准模板的块。

我们已经到了这一步

<#attempt>
    <#include "extension.ftl">
<#recover>
    Standard output
</#attempt>

所以 - 如果 extension.ftl 文件存在,它将被使用,否则会输出恢复块内部的部分。

这样做的问题是 freemarker 总是记录导致恢复块触发的错误。

所以我们需要两件事之一:
  • 如果文件不存在,则不要调用包含 - 因此需要检查文件是否存在。

  • -或者-
  • 一种在不更改日志记录的情况下防止在恢复块内记录错误的方法,以防止出现所有 freemarker 错误。
  • 最佳答案

    更简单的解决方案是:

    <#attempt>
        <#import xyz.ftl>
        your_code_here
    <#recover>
    </#attempt>
    

    关于freemarker - 在freemarker中是否可以在包含文件之前检查文件是否存在?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2630942/

    相关文章:

    html - 有没有办法为我的自定义 Keycloak 电子邮件主题添加样式?

    liferay - 如何在 Liferay 应用程序显示模板 (ADT) 中访问类型为 "Link to Page"的字段?

    freemarker - 用表达式过滤 bean 列表

    java - Freemarker压缩没有空格的single_line

    boolean - 使用 Freemarker 将字符串转换为 boolean 值

    dictionary - 如何在freemarker中为命名空间变量创建字符串的哈希?

    java - 我可以将主体属性(而不是子属性)拉到我的 sitemesh/freemarker 装饰器中吗?

    java - 使用 Spring/Hibernate 时 Freemarker 的替代品?

    java - 我可以通过 freemarker 访问注释吗?

    Java MyBatis Freemarker 动态 SQL