StringTemplate удалить <> в качестве разделителей - PullRequest
6 голосов
/ 13 декабря 2011

Я пытаюсь использовать StringTemplate в веб-приложении Java для создания HTML-писем.При попытке ввести разрывы строк я использую \<br\> Это не похоже на работу.\<b\> тоже не работает.Есть ли способ отключить <и> в качестве разделителей, чтобы я мог проверить, является ли это проблемой?Во всей документации StringTemplate говорится, что в качестве разделителей следует использовать $ ... $, но не сказано, как не использовать <...>

Ответы [ 3 ]

6 голосов
/ 13 декабря 2011

При создании группы вы можете установить разделители, используя

STGroup group = new STGroupDir("emails", '$','$');

Где «$» и «$» - ваши разделители.

2 голосов
/ 05 марта 2013

Хотя Лумпи определенно правильно ответил на вопрос, он не устранил проблему, с которой я столкнулся, поэтому я решил добавить сюда свое решение для будущих читателей.

Даже если вы сделаете x.st файл в STGroupDir, который вы хотите загрузить в программу и визуализировать в какой-то момент, вам нужно будет определить синтаксис внутри этого файла (так же, как вы бы внутри STGroupFile), например:

x(variables, go, here) ::= "this uses $variables$ such as $go$ and $here$"

Обратите внимание, что синтаксис должен иметь то же имя, что и файл (конечно, без расширения .st).

Это неудобно, если в шаблонах много кавычек илиесли вы не хотите включать объявление шаблона в начало файла, или если вы хотите иметь действительно длинный шаблон.В этих случаях вы должны использовать STRawGroupDir.Недостатком является то, что в верхней части файла шаблона нет центрального расположения с именами всех переменных, которые должны быть переданы.

2 голосов
/ 16 октября 2012

В верхней части файла группы шаблонов (.stg) вы можете поместить:

delimiters "$", "$"

... или любые другие разделители, которые вы хотите.Более подробная информация по адресу: https://theantlrguy.atlassian.net/wiki/display/ST4/Group+file+syntax

...