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

2024-05-19

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

我们已经到了这一步

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

因此 - 如果 extension.ftl 文件存在,则会使用该文件,否则将输出恢复块内的部分。

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

所以我们需要两件事之一:

  1. 如果文件不存在,则不要调用包含 - 因此需要检查文件是否存在。

-OR-

  1. 一种防止在恢复块内记录错误的方法,无需更改日志记录以防止显示所有 freemarker 错误。

更简单的解决方案是:

<#attempt>
    <#import xyz.ftl>
    your_code_here
<#recover>
</#attempt>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 freemarker 中,是否可以在包含文件之前检查文件是否存在? 的相关文章

  • 优化struts 2

    优化struts 2 1 关闭logging和devMode struts property struts devModel false 2 用freemarker tags 代替 struts2 tag
  • 使用freemarker循环图片(附demo)

    使用freemarker循环图片 一 效果展示 word文档 今天重点讲解图片部分 基础数据展示不做讲解 要求对freemarker有一定的基础 详看使用Freemarker输出word文档到浏览器与本地 今天为什么要单独讲解图片循环呢 因
  • java mail 通过 freemarker 发送邮件

    java mail 通过 freemarker 发送邮件 理解 java mail 核心类 1 MimeMessage 对象就是一封邮件 2 Session 定义系统属性信息 具体代码如下 1 controller 层代码如下 packag
  • 以表单形式使用时,accept-charset="UTF-8" 参数不会执行任何操作

    我在表单中使用accept charset utf 8 属性 发现当使用非ascii进行表单发布时 标头在请求标头中具有不同的接受字符集选项 我有什么遗漏的吗 我的表格看起来像这样
  • Freemarker/Velocity - 日期操作

    我对这两个模板引擎有一个相当简单的问题 我正在尝试确定一个未来 过去的日期 从现在开始的固定时间 例如18个月前 或者明天 我知道可以使用velocity freemarker模板中的java日期对象来做到这一点 类似于 date add
  • 禁用 freemarker 日志

    我正在使用 Struts 2 0 11 2 但我不知道我的应用程序最近发生了什么变化 我收到了大量的 freemarker 日志 DEBUG 13201 freemark template simple hidden ftl en UTF
  • 使用 Freemarker 解析 Spring MVC 中的视图 - 包括 jsp 页面

    使用 FreemarkerServlet 时 可以将 JSP 页面与 Freemarker 内容一起包含在内 但是 我在 Spring MVC 应用程序中使用 Freemarker 作为视图解析器 因此不使用 FreemarkerServl
  • 在android中使用freemarker库

    我正在尝试在我的项目中使用 freemarker 库 但在初始化配置对象时遇到错误 我进一步调查了这个问题 我发现this关联 我尝试应用上面链接中给出的补丁 但无法成功应用 有人在 Android 中使用过 Freemarker 吗 请帮
  • FreeMarker 模板错误!在struts2中

    我在类中使用基于 Sturts 2 注释的验证 同时显示操作错误 我收到了这个奇怪的 FreeMarker 模板错误 这是我的实体类 Entity public class User implements Serializable priv
  • 需要更好的模板语言[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 对我知道那个this https stackoverflow com questions 3793880 lightweight temp
  • IntelliJ下Spring Boot热部署模板和资源

    有谁知道在 IntelliJ 14 0 2 下为 Spring Boot 应用程序热部署资源和模板的机制 我知道完整的 Spring Boot 支持计划在 14 1 发布 但我有一个项目从标准 WAR 项目转换为 Spring Boot 项
  • Freemarker 将列表长度分配给局部变量

    以下 freemarker 代码会导致异常 lt assign i it getList size gt lt list it getList as elem gt lt if i 1 gt li elem name li lt else
  • 如何将日期时间显示为当地时间,末尾不带时区?

    编辑 由于一些看似混乱的情况 让我澄清一下 如果可能的话 我希望解决方案在 freemarker 中完成 而不是在 java 中完成 我有一个日期时间字符串 如下所示 2019 03 12T16 02 00 02 00我必须以特定的格式来显
  • Freemarker 中的继承/instanceof 检查

    我的用例是为用户提供在模板引擎的帮助下创建报告的可能性 因此 我提取了数据模型的相关部分 并将 Freemarker 集成为模板引擎 到目前为止 它工作得很好 但现在我的数据模型包含某些位置的继承 但 Freemarker 似乎不支持 in
  • 如何在 Struts 2 中向我的所有视图公开一个对象?

    我有一个使用 Struts 2 和 Freemarker 模板以及 Spring 4 的 Web 应用程序 我有一些配置字符串存储在 properties我需要在每个页面上呈现的文件 例如 我们的 CDN 路径 其中包含版本字符串 现在这些
  • 使用 ExecutorService 执行异步任务时出现问题

    我曾问过一个问题earlier https stackoverflow com questions 8668839 java velocity engine initialization issue关于 ExecutorService 和
  • 使用 freemarker 重新定位光标

    我正在使用免费标记和java 我必须将结果输出到txt 文件中 假设我必须打印 3 列 A B C 在类似的模式中 所有三个属性均为字符串 条件是 如果引用 A 的字符串长度超过 3 则应在下一行打印 也就是说 如果长度为 8 则前 3 个
  • 访问 <#list> 中对象的属性

    Solution 我之前曾尝试向 LineItem 类添加访问器 例如 public String getItemNo return itemNo 并将 FTL 从 lineItem itemNo to lineItem getItemNo
  • java.lang.NoClassDefFoundError:freemarker/template/TemplateModelException

    尝试打造先进HTML报告使用extentReportsjar 但它抛出以下错误 java lang NoClassDefFoundError freemarker 模板 TemplateModelException Code public
  • FREEMARKER:避免转义 HTML 字符

    freemarker 输出有问题 assign optionsHTML list data as item assign optionsHTML optionsHTML

随机推荐