изменить ключ «#» в шаблонах freemarker - PullRequest
0 голосов
/ 24 октября 2018

Для использования if операторов в шаблонах Freemarker используется следующий синтаксис:

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

Есть ли способ заменить символ '#' чем-то другим, потому чтоЯ пытаюсь интегрировать его с drools (механизм правил на основе Java), и символ «#» используется для обозначения начала комментариев, чтобы форматирование прервалось?

Ответы [ 2 ]

0 голосов
/ 24 октября 2018

Нет ничего для этого из коробки (он использует сгенерированный синтаксический анализатор JavaCC, который является статическим).Но вы можете написать TemplateLoader, который просто делегирует другому TemplateLoader, но заменяет Reader на FilterReader, который заменяет [% и [/% и [%-- и --%] на [#,и т. д. Затем вы можете использовать % вместо # в тегах FreeMarker.(Это несколько сбивает с толку, поскольку сообщения об ошибках по-прежнему будут использовать # и т. Д.)

0 голосов
/ 24 октября 2018

Как писал @ddekany, вы можете написать код, который преобразует шаблон без знака решетки, но обратите внимание, что он может конфликтовать с тегами HTML или XML (и аналогичными), по крайней мере, с точки зрения редактора.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...