为了在Freemarker模板中使用 if语句,请使用以下语法;
[#if ${numberCoupons} <= 1]
[#assign couponsText = 'coupon']
[/#if]
有没有一种方法可以将“#”字符替换为其他字符,因为我正在尝试将其与drools(基于Java的规则引擎)集成,并且使用“#”字符来标记注释的开始,因此格式休息?
答案 0 :(得分:0)
就像@ddekany所写的那样,您可以编写不带井字号即可转换模板的代码,但请注意,至少在编辑器中,它可能与HTML或XML(及类似)标签发生冲突。
答案 1 :(得分:0)
开箱即用没有任何东西(它使用JavaCC生成的解析器,它是静态的)。但是您可以编写一个TemplateLoader
,该委托仅委托给另一个TemplateLoader
,但用Reader
替换FilterReader
并替换[%
和[/%
,然后[%--
和--%]
与[#
等。然后,您可以在FreeMarker标记中使用%
代替#
。 (不过,这有些令人困惑,因为错误消息仍将使用#
等)。