在freemarker模板中更改'#'键

时间:2018-10-24 18:22:28

标签: drools freemarker

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

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

有没有一种方法可以将“#”字符替换为其他字符,因为我正在尝试将其与drools(基于Java的规则引擎)集成,并且使用“#”字符来标记注释的开始,因此格式休息?

2 个答案:

答案 0 :(得分:0)

就像@ddekany所写的那样,您可以编写不带井字号即可转换模板的代码,但请注意,至少在编辑器中,它可能与HTML或XML(及类似)标签发生冲突。

答案 1 :(得分:0)

开箱即用没有任何东西(它使用JavaCC生成的解析器,它是静态的)。但是您可以编写一个TemplateLoader,该委托仅委托给另一个TemplateLoader,但用Reader替换FilterReader并替换[%[/%,然后[%----%][#等。然后,您可以在FreeMarker标记中使用%代替#。 (不过,这有些令人困惑,因为错误消息仍将使用#等)。