首页 > 解决方案 > 更改 freemarker 模板中的“#”键

问题描述

为了在 Freemarker 模板中使用if 语句,使用以下语法;

[#if ${numberCoupons} <= 1]
    [#assign couponsText = 'coupon']
[/#if]

有没有办法用其他东西替换 '#' 字符,因为我正在尝试将它与 drools (基于 Java 的规则引擎)集成,并且 '#' 字符用于标记注释的开始,因此格式中断?

标签: droolsfreemarker

解决方案


没有任何开箱即用的东西(它使用 JavaCC 生成的解析器,它是静态的)。但是您可以编写 aTemplateLoader只是委托给 another TemplateLoader,但用ReaderaFilterReader替换[%and[/%[%--and等。然后您可以在 FreeMarker 标记中使用而不是。(虽然这有点令人困惑,因为错误消息仍将使用等)--%][#%##


推荐阅读